pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/29822 )
Change subject: doc: Include mgwpool.adoc from osmo-gsm-manuals
......................................................................
doc: Include mgwpool.adoc from osmo-gsm-manuals
This way we document the recently gained support for MGW pooling.
Related: SYS#5987
Depends: osmo-gsm-manuals.git Change-Id Ieda0d4bfe6fc90da6e19c791d8ec2da89427ba3b
Change-Id: I3dc8a4b50f13ad50390ba82e64fe4ebe0b97d4e5
---
M doc/manuals/chapters/running.adoc
M doc/manuals/osmohnbgw-usermanual.adoc
2 files changed, 21 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-hnbgw refs/changes/22/29822/1
diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc
index e575215..93c484b 100644
--- a/doc/manuals/chapters/running.adoc
+++ b/doc/manuals/chapters/running.adoc
@@ -136,11 +136,28 @@
----
hnbgw
- mgcp
+ mgw 0
mgw remote-ip 127.0.0.1
mgw remote-port 2427
- mgw reset-endpoint rtpbridge/*
+ mgw reset-endpoint rtpbridge/* <1>
----
+<1> The 'reset-endpoint' setting instructs the OsmoMGW to send a wildcarded
+DLCX to the media gateway. This helps to clear lingering calls from the
+media gateway when the OsmoMSC is restarted.
+
+OsmoMSC is also able to handle a pool of media gateways for load
+distribution. See also <<mgw_pooling>>.
+
+[NOTE]
+====
+Previous versions of OsmoHNBGW didn't have the 'mgw' VTY node and
+hence didn't support the MGW pooling feature. Therefore, historically the MGW
+related commands where placed under the `mgcp` VTY node. The MGW related commands
+under the `mgcp` VTY are still parsed and used but its use is deprecated and
+hence discouraged in favour of the new `mgw` node. Writing the config to a file
+from within OsmoMSC will automatically convert the config to use the new `mgw`
+node.
+====
==== Configure co-located User Plane Function
diff --git a/doc/manuals/osmohnbgw-usermanual.adoc b/doc/manuals/osmohnbgw-usermanual.adoc
index 21faed7..61a00b9 100644
--- a/doc/manuals/osmohnbgw-usermanual.adoc
+++ b/doc/manuals/osmohnbgw-usermanual.adoc
@@ -24,6 +24,8 @@
include::./common/chapters/cs7-config.adoc[]
+include::./common/chapters/mgwpool.adoc[]
+
// include::{srcdir}/chapters/net.adoc[]
// include::./common/chapters/control_if.adoc[]
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/29822
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I3dc8a4b50f13ad50390ba82e64fe4ebe0b97d4e5
Gerrit-Change-Number: 29822
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: osmith, pespin, dexter.
daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/29818 )
Change subject: doc: Generalize mgwpool.adoc and move BSC-specific sections to runnning.adoc
......................................................................
Patch Set 1:
(2 comments)
Patchset:
PS1:
Weird numbering in the example, otherwise +1 from me
File doc/manuals/chapters/running.adoc:
https://gerrit.osmocom.org/c/osmo-bsc/+/29818/comment/ccd40883_d923cddb
PS1, Line 202: MGW3 (node `mgw 7`). If MGW7
I know this is just moved, but there's some confusion here between MGW3 node/pool-target 7 and MGW7.
Should it all be 3 or 7?
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/29818
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Id0d292506e8b2a888c8d7a682a38db80e9d0933a
Gerrit-Change-Number: 29818
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 20 Oct 2022 14:29:34 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/29821 )
Change subject: doc: Include mgwpool.adoc from osmo-gsm-manuals
......................................................................
doc: Include mgwpool.adoc from osmo-gsm-manuals
This way we document the recently gained support for MGW pooling.
Related: SYS#5987
Depends: osmo-gsm-manuals.git Change-Id Ieda0d4bfe6fc90da6e19c791d8ec2da89427ba3b
Change-Id: I9d8116a74a63591599c4cbafa60f9a313e6ab19c
---
M doc/manuals/chapters/running.adoc
M doc/manuals/osmomsc-usermanual.adoc
2 files changed, 5 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/21/29821/1
diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc
index fac0a9f..f8550ae 100644
--- a/doc/manuals/chapters/running.adoc
+++ b/doc/manuals/chapters/running.adoc
@@ -159,6 +159,9 @@
DLCX to the media gateway. This helps to clear lingering calls from the
media gateway when the OsmoMSC is restarted.
+OsmoMSC is also able to handle a pool of media gateways for load
+distribution. See also <<mgw_pooling>>.
+
[NOTE]
====
Previous versions of OsmoMSC (1.9.0 and below) didn't have the 'mgw' VTY node and
diff --git a/doc/manuals/osmomsc-usermanual.adoc b/doc/manuals/osmomsc-usermanual.adoc
index 7ba45d4..632abc7 100644
--- a/doc/manuals/osmomsc-usermanual.adoc
+++ b/doc/manuals/osmomsc-usermanual.adoc
@@ -32,6 +32,8 @@
include::{srcdir}/chapters/osmux_msc.adoc[]
+include::./common/chapters/mgwpool.adoc[]
+
include::./common/chapters/control_if.adoc[]
include::./common/chapters/gsup.adoc[]
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/29821
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I9d8116a74a63591599c4cbafa60f9a313e6ab19c
Gerrit-Change-Number: 29821
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: osmith.
daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/29774 )
Change subject: contrib/jenkins.sh: set-url for existing clones
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/29774
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I3d9c193bf353ecff0ee8bb4c507de59139fc0925
Gerrit-Change-Number: 29774
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 20 Oct 2022 14:19:46 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/29820 )
Change subject: doc: Use mgwpool.adoc from osmo-gsm-manuals.git
......................................................................
doc: Use mgwpool.adoc from osmo-gsm-manuals.git
The adoc file has been moved to osmo-gsm-manuals.git so that it can be
included by other apps supporting MGW pooling from libosmo-mgcp-client,
such as osmo-msc and osmo-hnbgw.
Related: SYS#5987
Depends: osmo-gsm-manuals.git Change-Id Ieda0d4bfe6fc90da6e19c791d8ec2da89427ba3b
Change-Id: Icaee61905fbefe4632b562603fce393b70a114b1
---
D doc/manuals/chapters/mgwpool.adoc
M doc/manuals/osmobsc-usermanual.adoc
2 files changed, 1 insertion(+), 240 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/20/29820/1
diff --git a/doc/manuals/chapters/mgwpool.adoc b/doc/manuals/chapters/mgwpool.adoc
deleted file mode 100644
index c429159..0000000
--- a/doc/manuals/chapters/mgwpool.adoc
+++ /dev/null
@@ -1,239 +0,0 @@
-[[mgw_pooling]]
-== MGW Pooling
-
-{program-name} is able to use a pool of media gateway (MGW) instances.
-The aim of MGW pooling is to evenly distribute the RTP voice stream load across
-multiple MGW instances. This can help to scale out over multiple VMs or physical
-machines. Until osmo-mgw includes multithreading support, it may also be used to
-scale-out to multiple cores on a single host.
-
-The load distribution is managed in such a way that when a new call is placed,
-the pool will automatically assign the call to the MGW with the lowest load.
-
-MGW pooling is recommended for larger RAN or CN installations. For small networks
-and lab installations the classic method with one MGW per BSC offers sufficient
-performance.
-
-=== MGW pool VTY configuration
-
-In {program-name} the MGW is controlled via an MGCP-Client. The VTY commands to
-configure the MGCP-Client are part of the several 'mgw' nodes, one per
-MGCP-Client to set up.
-
-To setup an MGW pool, the user must first install multiple OsmoMGW instances, so
-that they won’t interfere with each other. This can be done using different
-local host IP addresses or different ports. When OsmoMGW is installed from
-packages, the systemd configuration may also require adjustment.
-
-By default, MGCP-Client will use whatever source IP address is resolved by the
-kernel routing subsystem, and will also ask the kernel to pick a free UDP port.
-
-Example configuration with two MGCP-Client instances in a pool:
-----
- mgw 0
- description media-gw-0 <2>
- remote-ip 127.0.0.1
- remote-port 2432
- local-ip 127.0.0.1
- local-port 2431
- endpoint-domain mgw0 <1>
- mgw 1
- description media-gw-1 <2>
- remote-ip 127.0.0.1
- remote-port 2430
- local-ip 127.0.0.1
- local-port 2429
- endpoint-domain mgw1 <1>
-----
-
-<1> When working with multiple MGW / MGCP-Client instances, the domain name for
-each MGW should be different. Otherwise it won't be possible to distinguish the
-endpoint names in the log. It should also be noted that the domain name must
-match the configuration of the related OsmoMGW instance.
-
-<2> It is also possible to assign a descriptive name to each MGW instance. The
-MGCP client specific log lines will then use this name as logging context. If
-no description is set, the domain name will be used.
-
-=== MGW pool management
-
-The MNGW pool is fully runtime-manageable. The only limitation
-is that an MGCP-Client can not be restarted or removed as long as it is serving
-calls (see also: <<mgw_pooling_blocking>>).
-
-==== MGW pool status
-
-The VTY implements a 'show mgw-pool' command that lists the currently configured
-MGW pool members, their status and call utilization. The following snippet shows
-an output example run on OsmoBSC, but it should be also available on other
-applications supporting the MGW pooling VTY featues:
-
-----
-OsmoBSC> show mgw-pool
-% MGW-Pool:
-% MGW 0:media-gw-0
-% mgcp-client: connected
-% service: unblocked
-% ongoing calls: 1
-% MGW 1:media-gw-1
-% mgcp-client: connected
-% service: unblocked
-% ongoing calls: 0
-----
-
-==== Adding an MGW / MGCP-Client to the MGW pool
-
-To add a new MGCP-Client to the pool, the 'mgw' node is used. Like with the
-'bts' or the 'msc' node a reference number is used that usually starts at 0.
-However it is still possible to assign any number from 0-255. The enumeration
-also may contain gaps. The following snippet shows an output example run on
-OsmoBSC, but it should be also available on other applications supporting the
-MGW pooling VTY featues:
-
-----
-OsmoBSC> enable
-OsmoBSC# configure terminal
-OsmoBSC(config)# network
-OsmoBSC(config-net)# mgw 2
-OsmoBSC(config-mgw)# ?
- local-ip local bind to connect to MGW from
- local-port local port to connect to MGW from
- remote-ip remote IP address to reach the MGW at
- remote-port remote port to reach the MGW at
- endpoint-domain Set the domain name to send in MGCP messages, e.g. the part 'foo' in 'rtpbridge/*@foo'.
- reset-endpoint Add an endpoint name that should be reset (DLCX) on connect to the reset-endpoint list,e.g. 'rtpbridge/*'
-----
-
-The newly added MGW will immediately appear in the mgw-pool list but it won't
-be used until its configuration finished by reconnecting it.
-
-----
-% MGW-Pool:
-% MGW 0:media-gw-0
-% mgcp-client: connected
-% service: unblocked
-% ongoing calls: 2
-% MGW 1:media-gw-1
-% mgcp-client: connected
-% service: unblocked
-% ongoing calls: 3
-% MGW 2:mgw <1>
-% mgcp-client: disconnected
-% service: unblocked
-% ongoing calls: 0
-----
-
-<1> In this example a description is not set yet, so the domain name ("mgw")
-is displayed.
-
-==== Reconnecting an MGW / MGCP-Client
-
-It may become necessary to reconnect an MGCP-Client. This is the case when the
-VTY configuration was changed at runtime. In order to make the changes effective
-the MGW configuration must be reloaded by reconnecting the MGW connection. Also
-newly created MGW instances require a reconnect once their configuration is
-done.
-
-To reconnect an MGCP-Client use the 'reconnect' VTY command:
-----
-OsmoBSC# mgw 2 reconnect
-----
-
-The mgcp-client status should immediately change to 'connected'. The MGW is now
-ready to be used for new calls.
-
-----
-OsmoBSC# show mgw-pool
-% MGW-Pool:
-% MGW 0:media-gw-0
-% mgcp-client: connected
-% service: unblocked
-% ongoing calls: 2
-% MGW 1:media-gw-1
-% mgcp-client: connected
-% service: unblocked
-% ongoing calls: 3
-% MGW 2:mgw
-% mgcp-client: connected
-% service: unblocked
-% ongoing calls: 0
-----
-
-It should be noted that MGCP a protocol is used via UDP, the connect only
-happens locally to forward the UDP datagrams properly. Also (unless a reset
-endpoint is configured like in the example config above) there will be no
-immediate interaction with the MGW. However, the log should at least confirm
-the the connect worked and the MGCP client has been created successfully.
-
-----
-Mon Aug 2 17:15:00 2021 DLMGCP mgcp_client.c:788 MGCP client: using endpoint domain '@mgw'
-Mon Aug 2 17:15:00 2021 DLMGCP mgcp_client.c:908 MGCP GW connection: r=127.0.0.1:2427<->l=127.0.0.1:2727
-----
-
-It is strongly advised to check the activity on the related MGW and to follow
-the log in order to see that the communication between {program-name} and the MGW is
-working correctly.
-
-[[mgw_pooling_blocking]]
-==== Blocking an MGW / MGCP-Client
-
-If it becomes apparent that an MGCP-Client must be restarted or removed from
-the config (maintenance) the operator can put that MGCP-Client into a blocked
-mode. A blocked MGCP-Client will still serve the ongoing calls but it will not
-be picked for the assignment of new calls.
-
-To block an MGCP-Client use the 'block' VTY command:
-----
-OsmoBSC# mgw 2 block
-OsmoBSC# show mgw-pool
-% MGW-Pool:
-% MGW 0:media-gw-0
-% mgcp-client: connected
-% service: unblocked
-% ongoing calls: 11
-% MGW 1:media-gw-1
-% mgcp-client: connected
-% service: unblocked
-% ongoing calls: 12
-% MGW 2:mgw
-% mgcp-client: connected
-% service: blocked
-% ongoing calls: 10
-----
-
-When the number of ongoing calls has tapered off, the MGW / MGCP-Client can be
-restarted or removed if necessary.
-
-----
-OsmoBSC# show mgw-pool
-% MGW-Pool:
-% MGW 0:media-gw-0
-% mgcp-client: connected
-% service: unblocked
-% ongoing calls: 15
-% MGW 1:media-gw-1
-% mgcp-client: connected
-% service: unblocked
-% ongoing calls: 14
-% MGW 2:mgw
-% mgcp-client: connected
-% service: blocked
-% ongoing calls: 0
-----
-
-If the blockade should be reverted, the 'unblock' VTY command can be used in
-the same way to remove the blockade. (Reconnecting will not remove the
-blockade.)
-
-==== Removing an MGW / MGCP-Client
-
-An MGCP-Client is removed from the pool using the 'no mgw' command from the
-configure terminal. The MGCP-Client instance will automatically be terminated
-and the related resources are freed. The only requirement is that there are no
-ongoing calls on the selected instance.
-
-----
-OsmoBSC# configure terminal
-OsmoBSC(config)# network
-OsmoBSC(config-net)# no mgw 2
-----
diff --git a/doc/manuals/osmobsc-usermanual.adoc b/doc/manuals/osmobsc-usermanual.adoc
index f835525..2e77e1b 100644
--- a/doc/manuals/osmobsc-usermanual.adoc
+++ b/doc/manuals/osmobsc-usermanual.adoc
@@ -36,7 +36,7 @@
include::{srcdir}/chapters/mscpool.adoc[]
-include::{srcdir}/chapters/mgwpool.adoc[]
+include::./common/chapters/mgwpool.adoc[]
include::{srcdir}/chapters/smlc.adoc[]
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/29820
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Icaee61905fbefe4632b562603fce393b70a114b1
Gerrit-Change-Number: 29820
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/29819 )
Change subject: Copy mgwpool.adoc from osmo-bsc.git
......................................................................
Copy mgwpool.adoc from osmo-bsc.git
Copied from osmo-bsc.git/doc/manuals/chapters/mgwpool.adoc, version from
Change-Id Id0d292506e8b2a888c8d7a682a38db80e9d0933a
Related: SYS#5987
Change-Id: Ieda0d4bfe6fc90da6e19c791d8ec2da89427ba3b
---
A common/chapters/mgwpool.adoc
1 file changed, 239 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/19/29819/1
diff --git a/common/chapters/mgwpool.adoc b/common/chapters/mgwpool.adoc
new file mode 100644
index 0000000..c429159
--- /dev/null
+++ b/common/chapters/mgwpool.adoc
@@ -0,0 +1,239 @@
+[[mgw_pooling]]
+== MGW Pooling
+
+{program-name} is able to use a pool of media gateway (MGW) instances.
+The aim of MGW pooling is to evenly distribute the RTP voice stream load across
+multiple MGW instances. This can help to scale out over multiple VMs or physical
+machines. Until osmo-mgw includes multithreading support, it may also be used to
+scale-out to multiple cores on a single host.
+
+The load distribution is managed in such a way that when a new call is placed,
+the pool will automatically assign the call to the MGW with the lowest load.
+
+MGW pooling is recommended for larger RAN or CN installations. For small networks
+and lab installations the classic method with one MGW per BSC offers sufficient
+performance.
+
+=== MGW pool VTY configuration
+
+In {program-name} the MGW is controlled via an MGCP-Client. The VTY commands to
+configure the MGCP-Client are part of the several 'mgw' nodes, one per
+MGCP-Client to set up.
+
+To setup an MGW pool, the user must first install multiple OsmoMGW instances, so
+that they won’t interfere with each other. This can be done using different
+local host IP addresses or different ports. When OsmoMGW is installed from
+packages, the systemd configuration may also require adjustment.
+
+By default, MGCP-Client will use whatever source IP address is resolved by the
+kernel routing subsystem, and will also ask the kernel to pick a free UDP port.
+
+Example configuration with two MGCP-Client instances in a pool:
+----
+ mgw 0
+ description media-gw-0 <2>
+ remote-ip 127.0.0.1
+ remote-port 2432
+ local-ip 127.0.0.1
+ local-port 2431
+ endpoint-domain mgw0 <1>
+ mgw 1
+ description media-gw-1 <2>
+ remote-ip 127.0.0.1
+ remote-port 2430
+ local-ip 127.0.0.1
+ local-port 2429
+ endpoint-domain mgw1 <1>
+----
+
+<1> When working with multiple MGW / MGCP-Client instances, the domain name for
+each MGW should be different. Otherwise it won't be possible to distinguish the
+endpoint names in the log. It should also be noted that the domain name must
+match the configuration of the related OsmoMGW instance.
+
+<2> It is also possible to assign a descriptive name to each MGW instance. The
+MGCP client specific log lines will then use this name as logging context. If
+no description is set, the domain name will be used.
+
+=== MGW pool management
+
+The MNGW pool is fully runtime-manageable. The only limitation
+is that an MGCP-Client can not be restarted or removed as long as it is serving
+calls (see also: <<mgw_pooling_blocking>>).
+
+==== MGW pool status
+
+The VTY implements a 'show mgw-pool' command that lists the currently configured
+MGW pool members, their status and call utilization. The following snippet shows
+an output example run on OsmoBSC, but it should be also available on other
+applications supporting the MGW pooling VTY featues:
+
+----
+OsmoBSC> show mgw-pool
+% MGW-Pool:
+% MGW 0:media-gw-0
+% mgcp-client: connected
+% service: unblocked
+% ongoing calls: 1
+% MGW 1:media-gw-1
+% mgcp-client: connected
+% service: unblocked
+% ongoing calls: 0
+----
+
+==== Adding an MGW / MGCP-Client to the MGW pool
+
+To add a new MGCP-Client to the pool, the 'mgw' node is used. Like with the
+'bts' or the 'msc' node a reference number is used that usually starts at 0.
+However it is still possible to assign any number from 0-255. The enumeration
+also may contain gaps. The following snippet shows an output example run on
+OsmoBSC, but it should be also available on other applications supporting the
+MGW pooling VTY featues:
+
+----
+OsmoBSC> enable
+OsmoBSC# configure terminal
+OsmoBSC(config)# network
+OsmoBSC(config-net)# mgw 2
+OsmoBSC(config-mgw)# ?
+ local-ip local bind to connect to MGW from
+ local-port local port to connect to MGW from
+ remote-ip remote IP address to reach the MGW at
+ remote-port remote port to reach the MGW at
+ endpoint-domain Set the domain name to send in MGCP messages, e.g. the part 'foo' in 'rtpbridge/*@foo'.
+ reset-endpoint Add an endpoint name that should be reset (DLCX) on connect to the reset-endpoint list,e.g. 'rtpbridge/*'
+----
+
+The newly added MGW will immediately appear in the mgw-pool list but it won't
+be used until its configuration finished by reconnecting it.
+
+----
+% MGW-Pool:
+% MGW 0:media-gw-0
+% mgcp-client: connected
+% service: unblocked
+% ongoing calls: 2
+% MGW 1:media-gw-1
+% mgcp-client: connected
+% service: unblocked
+% ongoing calls: 3
+% MGW 2:mgw <1>
+% mgcp-client: disconnected
+% service: unblocked
+% ongoing calls: 0
+----
+
+<1> In this example a description is not set yet, so the domain name ("mgw")
+is displayed.
+
+==== Reconnecting an MGW / MGCP-Client
+
+It may become necessary to reconnect an MGCP-Client. This is the case when the
+VTY configuration was changed at runtime. In order to make the changes effective
+the MGW configuration must be reloaded by reconnecting the MGW connection. Also
+newly created MGW instances require a reconnect once their configuration is
+done.
+
+To reconnect an MGCP-Client use the 'reconnect' VTY command:
+----
+OsmoBSC# mgw 2 reconnect
+----
+
+The mgcp-client status should immediately change to 'connected'. The MGW is now
+ready to be used for new calls.
+
+----
+OsmoBSC# show mgw-pool
+% MGW-Pool:
+% MGW 0:media-gw-0
+% mgcp-client: connected
+% service: unblocked
+% ongoing calls: 2
+% MGW 1:media-gw-1
+% mgcp-client: connected
+% service: unblocked
+% ongoing calls: 3
+% MGW 2:mgw
+% mgcp-client: connected
+% service: unblocked
+% ongoing calls: 0
+----
+
+It should be noted that MGCP a protocol is used via UDP, the connect only
+happens locally to forward the UDP datagrams properly. Also (unless a reset
+endpoint is configured like in the example config above) there will be no
+immediate interaction with the MGW. However, the log should at least confirm
+the the connect worked and the MGCP client has been created successfully.
+
+----
+Mon Aug 2 17:15:00 2021 DLMGCP mgcp_client.c:788 MGCP client: using endpoint domain '@mgw'
+Mon Aug 2 17:15:00 2021 DLMGCP mgcp_client.c:908 MGCP GW connection: r=127.0.0.1:2427<->l=127.0.0.1:2727
+----
+
+It is strongly advised to check the activity on the related MGW and to follow
+the log in order to see that the communication between {program-name} and the MGW is
+working correctly.
+
+[[mgw_pooling_blocking]]
+==== Blocking an MGW / MGCP-Client
+
+If it becomes apparent that an MGCP-Client must be restarted or removed from
+the config (maintenance) the operator can put that MGCP-Client into a blocked
+mode. A blocked MGCP-Client will still serve the ongoing calls but it will not
+be picked for the assignment of new calls.
+
+To block an MGCP-Client use the 'block' VTY command:
+----
+OsmoBSC# mgw 2 block
+OsmoBSC# show mgw-pool
+% MGW-Pool:
+% MGW 0:media-gw-0
+% mgcp-client: connected
+% service: unblocked
+% ongoing calls: 11
+% MGW 1:media-gw-1
+% mgcp-client: connected
+% service: unblocked
+% ongoing calls: 12
+% MGW 2:mgw
+% mgcp-client: connected
+% service: blocked
+% ongoing calls: 10
+----
+
+When the number of ongoing calls has tapered off, the MGW / MGCP-Client can be
+restarted or removed if necessary.
+
+----
+OsmoBSC# show mgw-pool
+% MGW-Pool:
+% MGW 0:media-gw-0
+% mgcp-client: connected
+% service: unblocked
+% ongoing calls: 15
+% MGW 1:media-gw-1
+% mgcp-client: connected
+% service: unblocked
+% ongoing calls: 14
+% MGW 2:mgw
+% mgcp-client: connected
+% service: blocked
+% ongoing calls: 0
+----
+
+If the blockade should be reverted, the 'unblock' VTY command can be used in
+the same way to remove the blockade. (Reconnecting will not remove the
+blockade.)
+
+==== Removing an MGW / MGCP-Client
+
+An MGCP-Client is removed from the pool using the 'no mgw' command from the
+configure terminal. The MGCP-Client instance will automatically be terminated
+and the related resources are freed. The only requirement is that there are no
+ongoing calls on the selected instance.
+
+----
+OsmoBSC# configure terminal
+OsmoBSC(config)# network
+OsmoBSC(config-net)# no mgw 2
+----
--
To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/29819
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-gsm-manuals
Gerrit-Branch: master
Gerrit-Change-Id: Ieda0d4bfe6fc90da6e19c791d8ec2da89427ba3b
Gerrit-Change-Number: 29819
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
daniel has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/29715 )
Change subject: Improve log levels
......................................................................
Improve log levels
* Set log levels to LOGL_NOTICE by default
* Set log message about pooling being disabled to debug
Change-Id: Ieddf20a5eafaa9738d5d1e9a9aae320e48aa2efc
---
M src/gb_proxy.c
M src/gb_proxy_main.c
2 files changed, 4 insertions(+), 2 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
msuraev: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
lynxis lazus: Looks good to me, approved
diff --git a/src/gb_proxy.c b/src/gb_proxy.c
index 919ed61..a7554a6 100644
--- a/src/gb_proxy.c
+++ b/src/gb_proxy.c
@@ -278,7 +278,7 @@
return NULL;
}
- LOGPSGSN(sgsn, LOGL_INFO, "Pooling disabled, using first available SGSN\n");
+ LOGPSGSN(sgsn, LOGL_DEBUG, "Pooling disabled, using first available SGSN\n");
} else {
/* Pooling is enabled, try to use the NRI for routing to an SGSN
* See 3GPP TS 23.236 Ch. 5.3.2 */
diff --git a/src/gb_proxy_main.c b/src/gb_proxy_main.c
index 1a4e951..ba49a77 100644
--- a/src/gb_proxy_main.c
+++ b/src/gb_proxy_main.c
@@ -237,12 +237,14 @@
[DGPRS] = {
.name = "DGPRS",
.description = "GPRS Packet Service",
- .enabled = 1, .loglevel = LOGL_DEBUG,
+ .enabled = 1,
+ .loglevel = LOGL_NOTICE,
},
[DOBJ] = {
.name = "DOBJ",
.description = "GbProxy object allocation/release",
.enabled = 1,
+ .loglevel = LOGL_NOTICE,
.color = "\033[38;5;121m"
},
};
2 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
--
To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/29715
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-gbproxy
Gerrit-Branch: master
Gerrit-Change-Id: Ieddf20a5eafaa9738d5d1e9a9aae320e48aa2efc
Gerrit-Change-Number: 29715
Gerrit-PatchSet: 3
Gerrit-Owner: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: msuraev <msuraev(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged