Daniel Willmann | 2778031 | 2018-07-31 18:53:45 +0200 | [diff] [blame] | 1 | == Configuring OsmoMGW |
| 2 | |
| 3 | A basic configation of OsmoMGW mainly consists of specifying the IP address |
| 4 | and port on which to listen to MGCP commands, but changing the port range at |
| 5 | which the RTP streams terminate as well as limiting operation to a single call |
| 6 | agent can be done as well as changing the number of endpoints. |
| 7 | |
| 8 | === Configuring MGCP |
| 9 | |
| 10 | By default OsmoMGW listens for MGCP on port 2427 on any IP address. If a call |
| 11 | agent address is configured then OsmoMGW will only answer MGCP commands from |
| 12 | that IP port 2727, otherwise all sources are handled. A domain can be |
| 13 | specified |
| 14 | |
| 15 | .Example: MGCP configuration |
| 16 | ---- |
| 17 | OsmoMGW(config-mgcp)# bind ip 127.0.0.1 |
| 18 | OsmoMGW(config-mgcp)# bind port 2427 |
| 19 | OsmoMGW(config-mgcp)# call-agent ip 127.0.0.1 |
| 20 | OsmoMGW(config-mgcp)# domain mgw-bsc |
| 21 | OsmoMGW(config-mgcp)# local ip 127.0.0.1 |
| 22 | ---- |
| 23 | |
| 24 | === Configuring the trunk |
| 25 | |
Philipp Maier | 9b444fd | 2020-11-25 16:09:16 +0100 | [diff] [blame] | 26 | The first trunk is considered a virtual trunk in OsmoMGW. All |
Daniel Willmann | 2778031 | 2018-07-31 18:53:45 +0200 | [diff] [blame] | 27 | endpoints of type "rtpbridge" are routed here. The virtual trunk is configured |
| 28 | in the config-mgcp context. |
| 29 | |
| 30 | All other trunks are configured in the config-mgcp-trunk context, but the |
Philipp Maier | 242e9ad | 2020-11-25 16:22:40 +0100 | [diff] [blame] | 31 | commands used are identical. Right now trunks are considered only for "ds/e1" |
| 32 | type endpoints. |
Daniel Willmann | 2778031 | 2018-07-31 18:53:45 +0200 | [diff] [blame] | 33 | |
| 34 | .Example: MGCP trunk configuration |
| 35 | ---- |
| 36 | OsmoMGW(config-mgcp)# number endpoints 63 <1> |
| 37 | OsmoMGW(config-mgcp)# rtp bind-ip 10.0.0.1 <2> |
| 38 | OsmoMGW(config-mgcp)# rtp port-range 12000-14000 <3> |
| 39 | ---- |
| 40 | <1> Maximum number of endpoints that can be allocated at once |
| 41 | <2> Use this IP when binding RTP endpoints |
| 42 | <3> Use ports in this range when binding RTP endpoints |
| 43 | |
| 44 | There are some options to tweak how RTP forwarding behaves in OsmoMGW: |
| 45 | |
| 46 | .Example: MGCP trunk rtp options |
| 47 | ---- |
| 48 | OsmoMGW(config-mgcp)# rtp keep-alive 30 <1> |
| 49 | OsmoMGW(config-mgcp)# rtp-patch ssrc <2> |
| 50 | OsmoMGW(config-mgcp)# rtp-patch timestamp <3> |
| 51 | ---- |
| 52 | <1> Send dummy UDP packets periodically to RTP destination |
| 53 | <2> Hide SSRC changes |
| 54 | <3> Ensure RTP timestamp is aligned with frame duration |
| 55 | |
Philipp Maier | 870f94b | 2020-11-25 16:28:54 +0100 | [diff] [blame] | 56 | NOTE: Changes to trunks that affect resource allocation, such as newly created |
| 57 | trunks or a change of the number of available endpoints, require a full restart |
| 58 | of osmo-mgw! |
Daniel Willmann | 2778031 | 2018-07-31 18:53:45 +0200 | [diff] [blame] | 59 | |