Hello,
I've had success with running a NITB based on the new architecture fine when everything is on one host. However, I'd now like to split this across multiple hosts. I have one host dedicated to running osmo-stp and this appears to bind to the IP specified. However, the instance of osmo-bsc running on another host always fails to connect and I think, despite configuring to use a remote STP, it's trying localhost.
Packages installed from Debian 9.0/latest repo. Configs and osmo-bsc output below. Any pointers as to where I'm going wrong would be much appreciated.
Regards,
Andrew
//
**** osmo-bsc output:
$ sudo /usr/bin/osmo-bsc -c /etc/osmocom/osmo-bsc.cfg <001d> osmo_ss7.c:1269 0: ASP Restart for server not implemented yet! % GPRS not enabled on this BTS % GPRS not enabled on this BTS % GPRS not enabled on this BTS % GPRS not enabled on this BTS % GPRS not enabled on this BTS % GPRS not enabled on this BTS % Line 0 already exists <0011> telnet_interface.c:104 telnet at 10.1.1.7 4242 <0013> input/ipaccess.c:853 enabling ipaccess BSC mode on 10.1.1.7 with OML 3002 and RSL 3003 TCP ports <0018> control_if.c:863 CTRL at 127.0.0.1 4249 <0008> osmo_bsc_sigtran.c:427 Initializing SCCP connection to MSC msc-0 <0008> osmo_bsc_sigtran.c:437 CS7 Instance identifier, A-Interface: 0 <001e> sccp_user.c:397 msc-0: Using SS7 instance 0, pc:0.0.2 <001e> sccp_user.c:411 msc-0: Creating AS instance <001e> sccp_user.c:421 msc-0: Using AS instance as-clnt-msc-0 <001e> sccp_user.c:426 msc-0: Creating default route <001e> sccp_user.c:446 msc-0: Creating ASP instance <0011> socket.c:266 unable to connect socket: (null):2905: Connection refused <0011> socket.c:279 no suitable remote addr found for: (null):2905 <001d> osmo_ss7.c:1253 0: Unable to open stream client for ASP asp-clnt-msc-0 <001e> sccp_user.c:481 msc-0: Using ASP instance asp-clnt-msc-0 <001e> sccp_user.c:484 msc-0: Creating SCCP instance <0008> osmo_bsc_sigtran.c:480 (msc-0) A-interface: local (BSC) SCCP address: RI=SSN_PC,PC=0.0.2,SSN=BSSAP <0008> osmo_bsc_sigtran.c:482 (msc-0) A-interface: remote (MSC) SCCP address: RI=SSN_PC,PC=0.0.1,SSN=BSSAP <0013> input/ipa.c:265 accept()ed new link from 10.1.1.8 to port 3002 <0005> abis_nm.c:506 BTS0 feature 'EGPRS' reported via OML does not match statically set feature: 0 != 1. Please fix. <0005> abis_nm.c:506 BTS0 feature 'OML Alerts' reported via OML does not match statically set feature: 1 != 0. Please fix. <0005> abis_nm.c:506 BTS0 feature 'Fullrate speech V1' reported via OML does not match statically set feature: 1 != 0. Please fix. <0005> abis_nm.c:506 BTS0 feature 'Halfrate speech V1' reported via OML does not match statically set feature: 1 != 0. Please fix. <0005> abis_nm.c:506 BTS0 feature 'Fullrate speech EFR' reported via OML does not match statically set feature: 1 != 0. Please fix. <0005> abis_nm.c:506 BTS0 feature 'Fullrate speech AMR' reported via OML does not match statically set feature: 1 != 0. Please fix. <0005> abis_nm.c:506 BTS0 feature 'Halfrate speech AMR' reported via OML does not match statically set feature: 1 != 0. Please fix. <0005> abis_nm.c:573 OC=BTS(01) INST=(00,ff,ff): BTS0: ARI reported sw[0/2]: osmobts is 0.8.1 <0005> abis_nm.c:445 BTS0 reported variant: omso-bts-trx <0005> abis_nm.c:467 BTS0 Attribute Manufacturer Dependent State is unreported <0005> abis_nm.c:573 OC=BTS(01) INST=(00,ff,ff): BTS0: ARI reported sw[0/1]: TRX_PHY_VERSION is Unknown <0005> abis_nm.c:2809 IPA RSL CONNECT IP=0.0.0.0 PORT=3003 STREAM=0x00 <0013> input/ipa.c:265 accept()ed new link from 10.1.1.8 to port 3003 <0004> bsc_init.c:333 bootstrapping RSL for BTS/TRX (0/0) on ARFCN 868 using MCC-MNC 901-70 LAC=23 CID=0 BSIC=63 <0004> abis_rsl.c:2502 (bts=0,trx=0,ts=2,pchan=TCH/F_TCH/H_PDCH as NONE): GPRS mode is 'none': not activating PDCH. <0004> abis_rsl.c:2502 (bts=0,trx=0,ts=3,pchan=TCH/F_TCH/H_PDCH as NONE): GPRS mode is 'none': not activating PDCH. <0004> abis_rsl.c:2502 (bts=0,trx=0,ts=4,pchan=TCH/F_TCH/H_PDCH as NONE): GPRS mode is 'none': not activating PDCH. <0004> abis_rsl.c:2502 (bts=0,trx=0,ts=5,pchan=TCH/F_TCH/H_PDCH as NONE): GPRS mode is 'none': not activating PDCH. <0004> abis_rsl.c:2502 (bts=0,trx=0,ts=6,pchan=TCH/F_TCH/H_PDCH as NONE): GPRS mode is 'none': not activating PDCH. <0008> a_reset.c:92 A-RESET(msc-0)[0x1d6fff0]{DISC}: (re)sending BSSMAP RESET message... <0008> osmo_bsc_sigtran.c:92 Sending RESET to MSC: RI=SSN_PC,PC=0.0.1,SSN=BSSAP <001d> m3ua.c:507 XUA_AS(as-clnt-msc-0)[0x1d6f7e8]{AS_DOWN}: Event AS-TRANSFER.req not permitted <0008> a_reset.c:92 A-RESET(msc-0)[0x1d6fff0]{DISC}: (re)sending BSSMAP RESET message... <0008> osmo_bsc_sigtran.c:92 Sending RESET to MSC: RI=SSN_PC,PC=0.0.1,SSN=BSSAP <001d> m3ua.c:507 XUA_AS(as-clnt-msc-0)[0x1d6f7e8]{AS_DOWN}: Event AS-TRANSFER.req not permitted <0011> socket.c:266 unable to connect socket: (null):2905: Connection refused <0011> socket.c:279 no suitable remote addr found for: (null):2905 <0008> a_reset.c:92 A-RESET(msc-0)[0x1d6fff0]{DISC}: (re)sending BSSMAP RESET message... <0008> osmo_bsc_sigtran.c:92 Sending RESET to MSC: RI=SSN_PC,PC=0.0.1,SSN=BSSAP <001d> m3ua.c:507 XUA_AS(as-clnt-msc-0)[0x1d6f7e8]{AS_DOWN}: Event AS-TRANSFER.req not permitted ^Csignal 2 received <0005> bsc_init.c:96 shutting down OML for BTS 0
**** osmo-bsc.cfg:
e1_input e1_line 0 driver ipa ipa bind 10.1.1.7 cs7 instance 0 point-code 0.0.2 asp circ-OsmoBSC 2905 0 m3ua remote-ip 10.1.1.5 sccp-address msc_remote point-code 0.0.1 line vty bind 10.1.1.7 msc msc-addr msc_remote network network country code 901 mobile network code 70 bts 0 type sysmobts band GSM-1800 location_area_code 23 ip.access unit_id 1800 0 gprs mode none gprs nsvc 0 remote ip 192.168.0.9 gprs nsvc 0 remote udp port 23000 gprs nsvc 0 local udp port 23000 gprs nsvc 0 nsvci 1800 gprs nsei 1800 gprs cell bvci 1800 trx 0 rf_locked 0 arfcn 868 nominal power 23 timeslot 0 phys_chan_config CCCH+SDCCH4 timeslot 1 phys_chan_config SDCCH8 timeslot 2 phys_chan_config TCH/F_TCH/H_PDCH timeslot 3 phys_chan_config TCH/F_TCH/H_PDCH timeslot 4 phys_chan_config TCH/F_TCH/H_PDCH timeslot 5 phys_chan_config TCH/F_TCH/H_PDCH timeslot 6 phys_chan_config TCH/F_TCH/H_PDCH timeslot 7 phys_chan_config PDCH e1_input e1_line 0 driver ipa msc 0 mgw remote-ip 10.1.1.6 mgw remote-port 2427 allow-emergency deny codec-list hr3
**** osmo-stp.cfg:
log stderr logging filter all 1 logging color 1 logging print category 1 logging timestamp 0 logging level lss7 debug logging level lsccp debug logging level lsua debug logging level lm3ua debug cs7 instance 0 xua rkm routing-key-allocation dynamic-permitted listen m3ua 2905 accept-asp-connections dynamic-permitted local-ip 10.1.1.5 listen sua 14001 local-ip 10.1.1.5 line vty bind 10.1.1.5
Hi Andrew,
On Fri, Jun 15, 2018 at 05:27:12PM +0100, Andrew Back wrote:
I've had success with running a NITB based on the new architecture fine when everything is on one host. However, I'd now like to split this across multiple hosts.
that should be no problem whatsoever and is actually what we had originally during development before trying to make it easy for people who run everything on one host.
Also, please note that all our automatic integration / functional test suites run each service in a separate docker container, each on its own IP address.
See e.g. http://git.osmocom.org/docker-playground/tree/ttcn3-bsc-test/osmo-bsc.cfg for the osmo-bsc.cfg we use in this setup.
I have one host dedicated to running osmo-stp and this appears to bind to the IP specified.
However, the instance of osmo-bsc running on another host always fails to connect and I think, despite configuring to use a remote STP, it's trying localhost.
If you open wireshark, it should be possible to see rather quickly who connects to whom, and whether that succeeds or fails, or with what error. If you filter on SCTP, you will [likely] only see the relevant connections of the A interface.
Also, you can display the SS7/SIGTRAN configuration by the VTY commands of libosmo-sigtran, such as
show cs7 instance 0 asp show cs7 instance 0 as all
those commands work on the BSC, the MSC as well as the STP to show the respective state.
Regards, Harald
Hi Harald,
On 16/06/18 15:58, Harald Welte wrote:
Hi Andrew,
On Fri, Jun 15, 2018 at 05:27:12PM +0100, Andrew Back wrote:
I've had success with running a NITB based on the new architecture fine when everything is on one host. However, I'd now like to split this across multiple hosts.
that should be no problem whatsoever and is actually what we had originally during development before trying to make it easy for people who run everything on one host.
Also, please note that all our automatic integration / functional test suites run each service in a separate docker container, each on its own IP address.
See e.g. http://git.osmocom.org/docker-playground/tree/ttcn3-bsc-test/osmo-bsc.cfg for the osmo-bsc.cfg we use in this setup.
Many thanks, the osmo-bsc and osmo-msc configs helped and I now have handsets registered and can send/receive SMS. However, when I make a voice call it fails and on the osmo-mgw for osmo-msc, I see in the logs:
Jun 18 16:28:47 cc4 osmo-mgw[507]: #033[0;m<0011> mgcp_msg.c:208 Not able to find a free endpoint Jun 18 16:28:47 cc4 osmo-mgw[507]: #033[0;m<0011> mgcp_msg.c:322 Unable to find Endpoint `rtpbridge/*@mgw' Jun 18 16:28:47 cc4 osmo-mgw[507]: #033[0;m<0011> mgcp_protocol.c:329 CRCX 5: failed to find the endpoint
There are two separate instances of osmo-mgw, each running on a dedicated host, with minimal configs as per the NITB instructions, but using standard port numbers for both since there is no conflict.
Regards,
Andrew
On 18/06/18 19:29, Andrew Back wrote:
Hi Harald,
On 16/06/18 15:58, Harald Welte wrote:
Hi Andrew,
On Fri, Jun 15, 2018 at 05:27:12PM +0100, Andrew Back wrote:
I've had success with running a NITB based on the new architecture fine when everything is on one host. However, I'd now like to split this across multiple hosts.
that should be no problem whatsoever and is actually what we had originally during development before trying to make it easy for people who run everything on one host.
Also, please note that all our automatic integration / functional test suites run each service in a separate docker container, each on its own IP address.
See e.g. http://git.osmocom.org/docker-playground/tree/ttcn3-bsc-test/osmo-bsc.cfg for the osmo-bsc.cfg we use in this setup.
Many thanks, the osmo-bsc and osmo-msc configs helped and I now have handsets registered and can send/receive SMS. However, when I make a voice call it fails and on the osmo-mgw for osmo-msc, I see in the logs:
Jun 18 16:28:47 cc4 osmo-mgw[507]: #033[0;m<0011> mgcp_msg.c:208 Not able to find a free endpoint Jun 18 16:28:47 cc4 osmo-mgw[507]: #033[0;m<0011> mgcp_msg.c:322 Unable to find Endpoint `rtpbridge/*@mgw' Jun 18 16:28:47 cc4 osmo-mgw[507]: #033[0;m<0011> mgcp_protocol.c:329 CRCX 5: failed to find the endpoint
There are two separate instances of osmo-mgw, each running on a dedicated host, with minimal configs as per the NITB instructions, but using standard port numbers for both since there is no conflict.
Just to note that I now have voice calls working using the osmo-mgw configs that Pau previously shared via the list. Thanks for your help and to all who have contributed to the stack — it's exciting to be using the new post-NITB architecture for the first time!
Regards,
Andrew
Hi Andrew,
On Tue, Jun 19, 2018 at 04:35:43PM +0100, Andrew Back wrote:
Just to note that I now have voice calls working using the osmo-mgw configs that Pau previously shared via the list. Thanks for your help and to all who have contributed to the stack — it's exciting to be using the new post-NITB architecture for the first time!
Great, I'm happy to hear you could make it work.
If there's anything we can improve in terms of examples, mauals, wiki, please don't hesitate to let us know.
My guess is if you started with the included config file examples but could only make it work with the config files Pau shared here on the list, then we might want to revisit the example config files?
Could you pin-point it to any particular setting?
Hi Harald,
On 21/06/18 12:11, Harald Welte wrote:
Hi Andrew,
On Tue, Jun 19, 2018 at 04:35:43PM +0100, Andrew Back wrote:
Just to note that I now have voice calls working using the osmo-mgw configs that Pau previously shared via the list. Thanks for your help and to all who have contributed to the stack — it's exciting to be using the new post-NITB architecture for the first time!
Great, I'm happy to hear you could make it work.
If there's anything we can improve in terms of examples, mauals, wiki, please don't hesitate to let us know.
A user manual for OsmoMGW would be good and sounds like it's in the works. I was thinking I could share my configs once I have GPRS working and, subject to these being reviewed, could update the wiki.
Other than this I think it's likely a question of just having a better basic understanding of SS7, configuring STP, and MSC/BSC to use this.
My guess is if you started with the included config file examples but could only make it work with the config files Pau shared here on the list, then we might want to revisit the example config files?
I started with the wiki configs, but then for a remote STP I had to add cs7 config to the MSC and BSC, as per the test configs you linked to.
At this point handsets could register and send/receive SMS.
Then to get voice calls working I had to add lines to the configuration of the MGW instances for the BSC and MSC, taken from Pau's config files.
I had everything running across 7x hosts: 1 each for TRX+BTS (combined), BSC, BSC MGW, STP, MSC MGW, MSC, HLR.
Could you pin-point it to any particular setting?
I didn't add in new config a line at a time and test, I'm afraid. E.g. for the MGW for MSC I added:
rtp ip-probing rtp ip-tos 184 rtp port-range 4002 8000 sdp audio payload number 98 sdp audio payload name GSM number endpoints 31 loop 0 force-realloc 1 rtcp-omit rtp-accept-all 1 rtp-patch ssrc rtp-patch timestamp
Best,
Andrew