Build failure of network:osmocom:nightly/osmo-pcu in Debian_10/armv7l

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_10/armv7l

Package network:osmocom:nightly/osmo-pcu failed to build in Debian_10/armv7l

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  624s] Making all in src
[  624s] make[2]: Entering directory '/usr/src/packages/BUILD/src'
[  624s] g++ -DPACKAGE_NAME=\"osmo-pcu\" -DPACKAGE_TARNAME=\"osmo-pcu\" 
-DPACKAGE_VERSION=\"0.7.0.38-05bc\" -DPACKAGE_STRING=\"osmo-pcu\ 
0.7.0.38-05bc\" -DPACKAGE_BUGREPORT=\"osmocom-net-g...@lists.osmocom.org\" 
-DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-pcu\" -DVERSION=\"0.7.0.38-05bc\" 
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" 
-DSTDC_HEADERS=1 -I.  -I../include -Wall -pthread -I/usr/include/ 
-fno-strict-aliasing -I/usr/include/ -I/usr/include/   -Wdate-time 
-D_FORTIFY_SOURCE=2 -Wall -ldl -pthread -g -O2 
-fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat 
-Werror=format-security -std=gnu++03 -c -o pcu_main.o pcu_main.cpp
[  625s] In file included from /usr/include/osmocom/gsm/gsm_utils.h:33,
[  625s]  from ./pcu_l1_if.h:31,
[  625s]  from pcu_main.cpp:20:
[  625s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  625s]  enum gsm_band;
[  625s]   ^~~~
[  625s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  625s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  625s]   ^~~~
[  625s] make[2]: *** [Makefile:823: pcu_main.o] Error 1
[  625s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  625s] make[1]: *** [Makefile:411: all-recursive] Error 1
[  625s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  625s] dh_auto_build: make -j1 returned exit code 2
[  625s] make: *** [debian/rules:12: build] Error 2
[  625s] dpkg-buildpackage: error: debian/rules build subprocess returned exit 
status 2
[  625s] 
[  625s] armbuild24 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
07:23:02 UTC 2019.
[  625s] 
[  625s] ### VM INTERACTION START ###
[  628s] [  588.560820] sysrq: SysRq : Power Off
[  628s] [  588.602431] reboot: Power down
[  629s] ### VM INTERACTION END ###
[  629s] 
[  629s] armbuild24 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
07:23:05 UTC 2019.
[  629s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in Raspbian_10/armv7l

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Raspbian_10/armv7l

Package network:osmocom:nightly/osmo-pcu failed to build in Raspbian_10/armv7l

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  439s] Making all in src
[  439s] make[2]: Entering directory '/usr/src/packages/BUILD/src'
[  439s] g++ -DPACKAGE_NAME=\"osmo-pcu\" -DPACKAGE_TARNAME=\"osmo-pcu\" 
-DPACKAGE_VERSION=\"0.7.0.38-05bc\" -DPACKAGE_STRING=\"osmo-pcu\ 
0.7.0.38-05bc\" -DPACKAGE_BUGREPORT=\"osmocom-net-g...@lists.osmocom.org\" 
-DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-pcu\" -DVERSION=\"0.7.0.38-05bc\" 
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" 
-DSTDC_HEADERS=1 -I.  -I../include -Wall -pthread -I/usr/include/ 
-fno-strict-aliasing -I/usr/include/ -I/usr/include/   -Wdate-time 
-D_FORTIFY_SOURCE=2 -Wall -ldl -pthread -g -O2 
-fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat 
-Werror=format-security -std=gnu++03 -c -o pcu_main.o pcu_main.cpp
[  440s] In file included from /usr/include/osmocom/gsm/gsm_utils.h:33,
[  440s]  from ./pcu_l1_if.h:31,
[  440s]  from pcu_main.cpp:20:
[  440s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  440s]  enum gsm_band;
[  440s]   ^~~~
[  440s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  440s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  440s]   ^~~~
[  440s] make[2]: *** [Makefile:823: pcu_main.o] Error 1
[  440s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  440s] make[1]: *** [Makefile:411: all-recursive] Error 1
[  440s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  440s] dh_auto_build: make -j1 returned exit code 2
[  440s] make: *** [debian/rules:12: build] Error 2
[  440s] dpkg-buildpackage: error: debian/rules build subprocess returned exit 
status 2
[  440s] 
[  440s] armbuild25 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
06:35:19 UTC 2019.
[  440s] 
[  440s] ### VM INTERACTION START ###
[  443s] [  412.122595] sysrq: SysRq : Power Off
[  443s] [  412.124747] reboot: Power down
[  444s] ### VM INTERACTION END ###
[  444s] 
[  444s] armbuild25 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
06:35:22 UTC 2019.
[  444s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in Debian_9.0/armv7l

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_9.0/armv7l

Package network:osmocom:nightly/osmo-pcu failed to build in Debian_9.0/armv7l

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  504s]  from /usr/include/osmocom/gprs/gprs_bssgp.h:9,
[  504s]  from ./gprs_bssgp_pcu.h:32,
[  504s]  from gprs_bssgp_pcu.cpp:22:
[  504s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  504s]  enum gsm_band;
[  504s]   ^~~~
[  504s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  504s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  504s]   ^~~~
[  505s] Makefile:805: recipe for target 'gprs_bssgp_pcu.lo' failed
[  505s] make[2]: *** [gprs_bssgp_pcu.lo] Error 1
[  505s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  505s] Makefile:411: recipe for target 'all-recursive' failed
[  505s] make[1]: *** [all-recursive] Error 1
[  505s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  505s] dh_auto_build: make -j1 returned exit code 2
[  505s] debian/rules:12: recipe for target 'build' failed
[  505s] make: *** [build] Error 2
[  505s] dpkg-buildpackage: error: debian/rules build gave error exit status 2
[  505s] 
[  505s] armbuild18 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
06:30:31 UTC 2019.
[  505s] 
[  505s] ### VM INTERACTION START ###
[  508s] [  459.905270] sysrq: SysRq : Power Off
[  508s] [  459.907614] reboot: Power down
[  508s] ### VM INTERACTION END ###
[  508s] 
[  508s] armbuild18 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
06:30:35 UTC 2019.
[  508s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in Debian_10/x86_64

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_10/x86_64

Package network:osmocom:nightly/osmo-pcu failed to build in Debian_10/x86_64

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  268s] Making all in src
[  269s] make[2]: Entering directory '/usr/src/packages/BUILD/src'
[  269s] g++ -DPACKAGE_NAME=\"osmo-pcu\" -DPACKAGE_TARNAME=\"osmo-pcu\" 
-DPACKAGE_VERSION=\"0.7.0.38-05bc\" -DPACKAGE_STRING=\"osmo-pcu\ 
0.7.0.38-05bc\" -DPACKAGE_BUGREPORT=\"osmocom-net-g...@lists.osmocom.org\" 
-DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-pcu\" -DVERSION=\"0.7.0.38-05bc\" 
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" 
-DSTDC_HEADERS=1 -I.  -I../include -Wall -pthread -I/usr/include/ 
-fno-strict-aliasing -I/usr/include/ -I/usr/include/   -Wdate-time 
-D_FORTIFY_SOURCE=2 -Wall -ldl -pthread -g -O2 
-fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat 
-Werror=format-security -std=gnu++03 -c -o pcu_main.o pcu_main.cpp
[  269s] In file included from /usr/include/osmocom/gsm/gsm_utils.h:33,
[  269s]  from ./pcu_l1_if.h:31,
[  269s]  from pcu_main.cpp:20:
[  269s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  269s]  enum gsm_band;
[  269s]   ^~~~
[  269s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  269s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  269s]   ^~~~
[  269s] make[2]: *** [Makefile:823: pcu_main.o] Error 1
[  269s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  269s] make[1]: *** [Makefile:411: all-recursive] Error 1
[  269s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  269s] dh_auto_build: make -j1 returned exit code 2
[  269s] make: *** [debian/rules:12: build] Error 2
[  269s] dpkg-buildpackage: error: debian/rules build subprocess returned exit 
status 2
[  269s] 
[  269s] build31 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:12:47 UTC 2019.
[  269s] 
[  269s] ### VM INTERACTION START ###
[  272s] [  252.450809] sysrq: SysRq : Power Off
[  272s] [  252.462567] reboot: Power down
[  273s] ### VM INTERACTION END ###
[  273s] 
[  273s] build31 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:12:52 UTC 2019.
[  273s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in xUbuntu_19.04/x86_64

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/xUbuntu_19.04/x86_64

Package network:osmocom:nightly/osmo-pcu failed to build in xUbuntu_19.04/x86_64

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  886s] Making all in src
[  886s] make[2]: Entering directory '/usr/src/packages/BUILD/src'
[  886s] g++ -DPACKAGE_NAME=\"osmo-pcu\" -DPACKAGE_TARNAME=\"osmo-pcu\" 
-DPACKAGE_VERSION=\"0.7.0.38-05bc\" -DPACKAGE_STRING=\"osmo-pcu\ 
0.7.0.38-05bc\" -DPACKAGE_BUGREPORT=\"osmocom-net-g...@lists.osmocom.org\" 
-DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-pcu\" -DVERSION=\"0.7.0.38-05bc\" 
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" 
-DSTDC_HEADERS=1 -I.  -I../include -Wall -pthread -I/usr/include/ 
-fno-strict-aliasing -I/usr/include/ -I/usr/include/   -Wdate-time 
-D_FORTIFY_SOURCE=2 -Wall -ldl -pthread -g -O2 
-fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat 
-Werror=format-security -std=gnu++03 -c -o pcu_main.o pcu_main.cpp
[  886s] In file included from /usr/include/osmocom/gsm/gsm_utils.h:33,
[  886s]  from ./pcu_l1_if.h:31,
[  886s]  from pcu_main.cpp:20:
[  886s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  886s]  enum gsm_band;
[  886s]   ^~~~
[  886s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  886s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  886s]   ^~~~
[  886s] make[2]: *** [Makefile:823: pcu_main.o] Error 1
[  886s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  886s] make[1]: *** [Makefile:411: all-recursive] Error 1
[  886s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  886s] dh_auto_build: make -j1 returned exit code 2
[  886s] make: *** [debian/rules:12: build] Error 2
[  886s] dpkg-buildpackage: error: debian/rules build subprocess returned exit 
status 2
[  886s] 
[  886s] build35 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:11:50 UTC 2019.
[  886s] 
[  886s] ### VM INTERACTION START ###
[  889s] [  805.818002] sysrq: SysRq : Power Off
[  889s] [  805.841375] reboot: Power down
[  916s] ### VM INTERACTION END ###
[  916s] 
[  916s] build35 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:12:20 UTC 2019.
[  916s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in Debian_10/aarch64

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_10/aarch64

Package network:osmocom:nightly/osmo-pcu failed to build in Debian_10/aarch64

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  290s] Making all in src
[  290s] make[2]: Entering directory '/usr/src/packages/BUILD/src'
[  290s] g++ -DPACKAGE_NAME=\"osmo-pcu\" -DPACKAGE_TARNAME=\"osmo-pcu\" 
-DPACKAGE_VERSION=\"0.7.0.38-05bc\" -DPACKAGE_STRING=\"osmo-pcu\ 
0.7.0.38-05bc\" -DPACKAGE_BUGREPORT=\"osmocom-net-g...@lists.osmocom.org\" 
-DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-pcu\" -DVERSION=\"0.7.0.38-05bc\" 
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" 
-DSTDC_HEADERS=1 -I.  -I../include -Wall -pthread -I/usr/include/ 
-fno-strict-aliasing -I/usr/include/ -I/usr/include/   -Wdate-time 
-D_FORTIFY_SOURCE=2 -Wall -ldl -pthread -g -O2 
-fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat 
-Werror=format-security -std=gnu++03 -c -o pcu_main.o pcu_main.cpp
[  290s] In file included from /usr/include/osmocom/gsm/gsm_utils.h:33,
[  290s]  from ./pcu_l1_if.h:31,
[  290s]  from pcu_main.cpp:20:
[  290s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  290s]  enum gsm_band;
[  290s]   ^~~~
[  290s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  290s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  290s]   ^~~~
[  290s] make[2]: *** [Makefile:823: pcu_main.o] Error 1
[  290s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  290s] make[1]: *** [Makefile:411: all-recursive] Error 1
[  290s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  290s] dh_auto_build: make -j1 returned exit code 2
[  290s] make: *** [debian/rules:12: build] Error 2
[  290s] dpkg-buildpackage: error: debian/rules build subprocess returned exit 
status 2
[  290s] 
[  290s] obs-arm-9 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:24:54 UTC 2019.
[  290s] 
[  290s] ### VM INTERACTION START ###
[  293s] [  278.785040] sysrq: Power Off
[  293s] [  278.830393] reboot: Power down
[  294s] ### VM INTERACTION END ###
[  294s] 
[  294s] obs-arm-9 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:24:58 UTC 2019.
[  294s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in Debian_9.0/aarch64

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_9.0/aarch64

Package network:osmocom:nightly/osmo-pcu failed to build in Debian_9.0/aarch64

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  485s]  from /usr/include/osmocom/gprs/gprs_bssgp.h:9,
[  485s]  from ./gprs_bssgp_pcu.h:32,
[  485s]  from gprs_bssgp_pcu.cpp:22:
[  485s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  485s]  enum gsm_band;
[  485s]   ^~~~
[  485s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  485s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  485s]   ^~~~
[  485s] Makefile:805: recipe for target 'gprs_bssgp_pcu.lo' failed
[  485s] make[2]: *** [gprs_bssgp_pcu.lo] Error 1
[  485s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  485s] Makefile:411: recipe for target 'all-recursive' failed
[  485s] make[1]: *** [all-recursive] Error 1
[  485s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  485s] dh_auto_build: make -j1 returned exit code 2
[  485s] debian/rules:12: recipe for target 'build' failed
[  485s] make: *** [build] Error 2
[  485s] dpkg-buildpackage: error: debian/rules build gave error exit status 2
[  485s] 
[  485s] obs-arm-3 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:21:52 UTC 2019.
[  485s] 
[  485s] ### VM INTERACTION START ###
[  488s] [  458.038614] sysrq: SysRq : Power Off
[  489s] [  458.055115] reboot: Power down
[  489s] ### VM INTERACTION END ###
[  489s] 
[  489s] obs-arm-3 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:21:55 UTC 2019.
[  489s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in Debian_9.0/x86_64

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_9.0/x86_64

Package network:osmocom:nightly/osmo-pcu failed to build in Debian_9.0/x86_64

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  149s]  from /usr/include/osmocom/gprs/gprs_bssgp.h:9,
[  149s]  from ./gprs_bssgp_pcu.h:32,
[  149s]  from gprs_bssgp_pcu.cpp:22:
[  149s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  149s]  enum gsm_band;
[  149s]   ^~~~
[  149s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  149s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  149s]   ^~~~
[  149s] Makefile:805: recipe for target 'gprs_bssgp_pcu.lo' failed
[  149s] make[2]: *** [gprs_bssgp_pcu.lo] Error 1
[  149s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  149s] Makefile:411: recipe for target 'all-recursive' failed
[  149s] make[1]: *** [all-recursive] Error 1
[  149s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  149s] dh_auto_build: make -j1 returned exit code 2
[  149s] debian/rules:12: recipe for target 'build' failed
[  149s] make: *** [build] Error 2
[  149s] dpkg-buildpackage: error: debian/rules build gave error exit status 2
[  149s] 
[  149s] build82 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:10:39 UTC 2019.
[  149s] 
[  149s] ### VM INTERACTION START ###
[  153s] [  139.424506] sysrq: SysRq : Power Off
[  153s] [  139.427189] reboot: Power down
[  153s] ### VM INTERACTION END ###
[  153s] 
[  153s] build82 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:10:43 UTC 2019.
[  153s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in Debian_8.0/x86_64

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_8.0/x86_64

Package network:osmocom:nightly/osmo-pcu failed to build in Debian_8.0/x86_64

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  153s]  from /usr/include/osmocom/gprs/gprs_bssgp.h:9,
[  153s]  from ./gprs_bssgp_pcu.h:32,
[  153s]  from gprs_bssgp_pcu.cpp:22:
[  153s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  153s]  enum gsm_band;
[  153s]   ^
[  153s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  153s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  153s]   ^
[  153s] Makefile:793: recipe for target 'gprs_bssgp_pcu.lo' failed
[  153s] make[2]: *** [gprs_bssgp_pcu.lo] Error 1
[  153s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  153s] Makefile:399: recipe for target 'all-recursive' failed
[  153s] make[1]: *** [all-recursive] Error 1
[  153s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  153s] dh_auto_build: make -j1 returned exit code 2
[  153s] debian/rules:12: recipe for target 'build' failed
[  154s] make: *** [build] Error 2
[  154s] dpkg-buildpackage: error: debian/rules build gave error exit status 2
[  154s] 
[  154s] lamb17 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:04:47 UTC 2019.
[  154s] 
[  154s] ### VM INTERACTION START ###
[  155s] Powering off.
[  155s] [  140.985388] reboot: Power down
[  155s] ### VM INTERACTION END ###
[  155s] 
[  155s] lamb17 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:04:49 UTC 2019.
[  155s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in xUbuntu_19.10/x86_64

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/xUbuntu_19.10/x86_64

Package network:osmocom:nightly/osmo-pcu failed to build in xUbuntu_19.10/x86_64

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  532s] Making all in src
[  532s] make[2]: Entering directory '/usr/src/packages/BUILD/src'
[  532s] g++ -DPACKAGE_NAME=\"osmo-pcu\" -DPACKAGE_TARNAME=\"osmo-pcu\" 
-DPACKAGE_VERSION=\"0.7.0.38-05bc\" -DPACKAGE_STRING=\"osmo-pcu\ 
0.7.0.38-05bc\" -DPACKAGE_BUGREPORT=\"osmocom-net-g...@lists.osmocom.org\" 
-DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-pcu\" -DVERSION=\"0.7.0.38-05bc\" 
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" 
-DSTDC_HEADERS=1 -I.  -I../include -Wall -pthread -I/usr/include/ 
-fno-strict-aliasing -I/usr/include/ -I/usr/include/   -Wdate-time 
-D_FORTIFY_SOURCE=2 -Wall -ldl -pthread -g -O2 
-fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat 
-Werror=format-security -std=gnu++03 -c -o pcu_main.o pcu_main.cpp
[  533s] In file included from /usr/include/osmocom/gsm/gsm_utils.h:33,
[  533s]  from ./pcu_l1_if.h:31,
[  533s]  from pcu_main.cpp:20:
[  533s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  533s]13 | enum gsm_band;
[  533s]   |  ^~~~
[  533s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  533s]77 | int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, 
uint8_t rf_power_cap);
[  533s]   |  ^~~~
[  533s] make[2]: *** [Makefile:823: pcu_main.o] Error 1
[  533s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  533s] make[1]: *** [Makefile:411: all-recursive] Error 1
[  533s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  533s] dh_auto_build: make -j1 returned exit code 2
[  533s] make: *** [debian/rules:12: build] Error 255
[  533s] dpkg-buildpackage: error: debian/rules build subprocess returned exit 
status 2
[  533s] 
[  533s] lamb62 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:05:25 UTC 2019.
[  533s] 
[  533s] ### VM INTERACTION START ###
[  536s] [  517.647821] sysrq: SysRq : Power Off
[  536s] [  517.700270] reboot: Power down
[  536s] ### VM INTERACTION END ###
[  537s] 
[  537s] lamb62 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:05:29 UTC 2019.
[  537s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in xUbuntu_18.10/i586

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/xUbuntu_18.10/i586

Package network:osmocom:nightly/osmo-pcu failed to build in xUbuntu_18.10/i586

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  311s] Making all in src
[  311s] make[2]: Entering directory '/usr/src/packages/BUILD/src'
[  312s] g++ -DPACKAGE_NAME=\"osmo-pcu\" -DPACKAGE_TARNAME=\"osmo-pcu\" 
-DPACKAGE_VERSION=\"0.7.0.38-05bc\" -DPACKAGE_STRING=\"osmo-pcu\ 
0.7.0.38-05bc\" -DPACKAGE_BUGREPORT=\"osmocom-net-g...@lists.osmocom.org\" 
-DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-pcu\" -DVERSION=\"0.7.0.38-05bc\" 
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" 
-DSTDC_HEADERS=1 -I.  -I../include -Wall -pthread -I/usr/include/ 
-fno-strict-aliasing -I/usr/include/ -I/usr/include/   -Wdate-time 
-D_FORTIFY_SOURCE=2 -Wall -ldl -pthread -g -O2 
-fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat 
-Werror=format-security -std=gnu++03 -c -o pcu_main.o pcu_main.cpp
[  312s] In file included from /usr/include/osmocom/gsm/gsm_utils.h:33,
[  312s]  from ./pcu_l1_if.h:31,
[  312s]  from pcu_main.cpp:20:
[  312s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  312s]  enum gsm_band;
[  312s]   ^~~~
[  312s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  312s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  312s]   ^~~~
[  312s] make[2]: *** [Makefile:823: pcu_main.o] Error 1
[  312s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  312s] make[1]: *** [Makefile:411: all-recursive] Error 1
[  312s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  312s] dh_auto_build: make -j1 returned exit code 2
[  312s] make: *** [debian/rules:12: build] Error 2
[  312s] dpkg-buildpackage: error: debian/rules build subprocess returned exit 
status 2
[  312s] 
[  312s] lamb07 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
01:55:45 UTC 2019.
[  312s] 
[  312s] ### VM INTERACTION START ###
[  315s] [  299.954116] sysrq: SysRq : Power Off
[  315s] [  299.965725] reboot: Power down
[  315s] ### VM INTERACTION END ###
[  315s] 
[  315s] lamb07 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
01:55:48 UTC 2019.
[  315s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in xUbuntu_18.04/i586

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/xUbuntu_18.04/i586

Package network:osmocom:nightly/osmo-pcu failed to build in xUbuntu_18.04/i586

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  271s]  from /usr/include/osmocom/gprs/gprs_bssgp.h:9,
[  271s]  from ./gprs_bssgp_pcu.h:32,
[  271s]  from gprs_bssgp_pcu.cpp:22:
[  271s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  271s]  enum gsm_band;
[  271s]   ^~~~
[  271s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  271s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  271s]   ^~~~
[  271s] Makefile:805: recipe for target 'gprs_bssgp_pcu.lo' failed
[  271s] make[2]: *** [gprs_bssgp_pcu.lo] Error 1
[  271s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  272s] Makefile:411: recipe for target 'all-recursive' failed
[  272s] make[1]: *** [all-recursive] Error 1
[  272s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  272s] dh_auto_build: make -j1 returned exit code 2
[  272s] debian/rules:12: recipe for target 'build' failed
[  272s] make: *** [build] Error 2
[  272s] dpkg-buildpackage: error: debian/rules build subprocess returned exit 
status 2
[  272s] 
[  272s] lamb18 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
01:54:53 UTC 2019.
[  272s] 
[  272s] ### VM INTERACTION START ###
[  275s] [  259.929561] sysrq: SysRq : Power Off
[  275s] [  259.934467] reboot: Power down
[  275s] ### VM INTERACTION END ###
[  275s] 
[  275s] lamb18 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
01:54:57 UTC 2019.
[  275s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in xUbuntu_18.10/x86_64

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/xUbuntu_18.10/x86_64

Package network:osmocom:nightly/osmo-pcu failed to build in xUbuntu_18.10/x86_64

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  199s] Making all in src
[  199s] make[2]: Entering directory '/usr/src/packages/BUILD/src'
[  199s] g++ -DPACKAGE_NAME=\"osmo-pcu\" -DPACKAGE_TARNAME=\"osmo-pcu\" 
-DPACKAGE_VERSION=\"0.7.0.38-05bc\" -DPACKAGE_STRING=\"osmo-pcu\ 
0.7.0.38-05bc\" -DPACKAGE_BUGREPORT=\"osmocom-net-g...@lists.osmocom.org\" 
-DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-pcu\" -DVERSION=\"0.7.0.38-05bc\" 
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" 
-DSTDC_HEADERS=1 -I.  -I../include -Wall -pthread -I/usr/include/ 
-fno-strict-aliasing -I/usr/include/ -I/usr/include/   -Wdate-time 
-D_FORTIFY_SOURCE=2 -Wall -ldl -pthread -g -O2 
-fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat 
-Werror=format-security -std=gnu++03 -c -o pcu_main.o pcu_main.cpp
[  199s] In file included from /usr/include/osmocom/gsm/gsm_utils.h:33,
[  199s]  from ./pcu_l1_if.h:31,
[  200s]  from pcu_main.cpp:20:
[  200s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  200s]  enum gsm_band;
[  200s]   ^~~~
[  200s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  200s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  200s]   ^~~~
[  200s] make[2]: *** [Makefile:823: pcu_main.o] Error 1
[  200s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  200s] make[1]: *** [Makefile:411: all-recursive] Error 1
[  200s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  200s] dh_auto_build: make -j1 returned exit code 2
[  200s] make: *** [debian/rules:12: build] Error 2
[  200s] dpkg-buildpackage: error: debian/rules build subprocess returned exit 
status 2
[  200s] 
[  200s] sheep81 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:01:24 UTC 2019.
[  200s] 
[  200s] ### VM INTERACTION START ###
[  203s] [  193.352755] sysrq: SysRq : Power Off
[  203s] [  193.361304] reboot: Power down
[  203s] ### VM INTERACTION END ###
[  203s] 
[  203s] sheep81 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:01:28 UTC 2019.
[  203s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in xUbuntu_18.04/x86_64

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/xUbuntu_18.04/x86_64

Package network:osmocom:nightly/osmo-pcu failed to build in xUbuntu_18.04/x86_64

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  336s]  from /usr/include/osmocom/gprs/gprs_bssgp.h:9,
[  336s]  from ./gprs_bssgp_pcu.h:32,
[  336s]  from gprs_bssgp_pcu.cpp:22:
[  336s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  336s]  enum gsm_band;
[  336s]   ^~~~
[  336s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  336s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  336s]   ^~~~
[  336s] Makefile:805: recipe for target 'gprs_bssgp_pcu.lo' failed
[  336s] make[2]: *** [gprs_bssgp_pcu.lo] Error 1
[  336s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  336s] Makefile:411: recipe for target 'all-recursive' failed
[  336s] make[1]: *** [all-recursive] Error 1
[  336s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  336s] dh_auto_build: make -j1 returned exit code 2
[  336s] debian/rules:12: recipe for target 'build' failed
[  336s] make: *** [build] Error 2
[  336s] dpkg-buildpackage: error: debian/rules build subprocess returned exit 
status 2
[  336s] 
[  336s] lamb23 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:00:06 UTC 2019.
[  336s] 
[  336s] ### VM INTERACTION START ###
[  339s] [  322.352710] sysrq: SysRq : Power Off
[  339s] [  322.358371] reboot: Power down
[  339s] ### VM INTERACTION END ###
[  339s] 
[  339s] lamb23 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
02:00:10 UTC 2019.
[  339s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in Debian_9.0/i586

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_9.0/i586

Package network:osmocom:nightly/osmo-pcu failed to build in Debian_9.0/i586

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  202s]  from /usr/include/osmocom/gprs/gprs_bssgp.h:9,
[  202s]  from ./gprs_bssgp_pcu.h:32,
[  202s]  from gprs_bssgp_pcu.cpp:22:
[  202s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  202s]  enum gsm_band;
[  202s]   ^~~~
[  202s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  202s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  202s]   ^~~~
[  202s] Makefile:805: recipe for target 'gprs_bssgp_pcu.lo' failed
[  202s] make[2]: *** [gprs_bssgp_pcu.lo] Error 1
[  202s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  202s] Makefile:411: recipe for target 'all-recursive' failed
[  202s] make[1]: *** [all-recursive] Error 1
[  202s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  202s] dh_auto_build: make -j1 returned exit code 2
[  202s] debian/rules:12: recipe for target 'build' failed
[  202s] make: *** [build] Error 2
[  202s] dpkg-buildpackage: error: debian/rules build gave error exit status 2
[  202s] 
[  202s] wildcard2 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
01:53:07 UTC 2019.
[  202s] 
[  202s] ### VM INTERACTION START ###
[  205s] [  184.793065] sysrq: SysRq : Power Off
[  205s] [  184.802106] reboot: Power down
[  206s] ### VM INTERACTION END ###
[  206s] 
[  206s] wildcard2 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
01:53:12 UTC 2019.
[  206s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in Debian_10/i586

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_10/i586

Package network:osmocom:nightly/osmo-pcu failed to build in Debian_10/i586

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  454s] Making all in src
[  454s] make[2]: Entering directory '/usr/src/packages/BUILD/src'
[  454s] g++ -DPACKAGE_NAME=\"osmo-pcu\" -DPACKAGE_TARNAME=\"osmo-pcu\" 
-DPACKAGE_VERSION=\"0.7.0.38-05bc\" -DPACKAGE_STRING=\"osmo-pcu\ 
0.7.0.38-05bc\" -DPACKAGE_BUGREPORT=\"osmocom-net-g...@lists.osmocom.org\" 
-DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-pcu\" -DVERSION=\"0.7.0.38-05bc\" 
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" 
-DSTDC_HEADERS=1 -I.  -I../include -Wall -pthread -I/usr/include/ 
-fno-strict-aliasing -I/usr/include/ -I/usr/include/   -Wdate-time 
-D_FORTIFY_SOURCE=2 -Wall -ldl -pthread -g -O2 
-fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat 
-Werror=format-security -std=gnu++03 -c -o pcu_main.o pcu_main.cpp
[  455s] In file included from /usr/include/osmocom/gsm/gsm_utils.h:33,
[  455s]  from ./pcu_l1_if.h:31,
[  455s]  from pcu_main.cpp:20:
[  455s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  455s]  enum gsm_band;
[  455s]   ^~~~
[  455s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  455s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  455s]   ^~~~
[  455s] make[2]: *** [Makefile:823: pcu_main.o] Error 1
[  455s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  455s] make[1]: *** [Makefile:411: all-recursive] Error 1
[  455s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  455s] dh_auto_build: make -j1 returned exit code 2
[  455s] make: *** [debian/rules:12: build] Error 2
[  455s] dpkg-buildpackage: error: debian/rules build subprocess returned exit 
status 2
[  455s] 
[  455s] lamb26 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
01:59:30 UTC 2019.
[  455s] 
[  455s] ### VM INTERACTION START ###
[  458s] [  437.898836] sysrq: SysRq : Power Off
[  458s] [  437.910646] reboot: Power down
[  459s] ### VM INTERACTION END ###
[  459s] 
[  459s] lamb26 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
01:59:35 UTC 2019.
[  459s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Change in osmo-msc[master]: msc_vlr_test_call: rename lu_utran_tmsi

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-msc/+/15952 )


Change subject: msc_vlr_test_call: rename lu_utran_tmsi
..

msc_vlr_test_call: rename lu_utran_tmsi

Change-Id: I46a41321e6d1be3672a56a6e3cc36f013fdcd396
---
M tests/msc_vlr/msc_vlr_test_call.c
M tests/msc_vlr/msc_vlr_test_call.err
2 files changed, 16 insertions(+), 16 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/52/15952/1

diff --git a/tests/msc_vlr/msc_vlr_test_call.c 
b/tests/msc_vlr/msc_vlr_test_call.c
index dfa3141..339233c 100644
--- a/tests/msc_vlr/msc_vlr_test_call.c
+++ b/tests/msc_vlr/msc_vlr_test_call.c
@@ -43,7 +43,7 @@

 #define IMSI "90170010650"

-static void standard_lu()
+static void lu_utran_tmsi()
 {
struct vlr_subscr *vsub;

@@ -173,7 +173,7 @@

fake_time_start();

-   standard_lu();
+   lu_utran_tmsi();

BTW("after a while, a new conn sends a CM Service Request. VLR responds 
with Auth Req, 2nd auth vector");
auth_request_sent = false;
@@ -291,7 +291,7 @@

fake_time_start();

-   standard_lu();
+   lu_utran_tmsi();

BTW("after a while, MNCC asks us to setup a call, causing Paging");

@@ -394,7 +394,7 @@

fake_time_start();

-   standard_lu();
+   lu_utran_tmsi();

BTW("after a while, MNCC asks us to setup a call, causing Paging");

@@ -489,7 +489,7 @@

fake_time_start();

-   standard_lu();
+   lu_utran_tmsi();

BTW("after a while, a new conn sends a CM Service Request. VLR responds 
with Auth Req, 2nd auth vector");
auth_request_sent = false;
@@ -585,7 +585,7 @@

fake_time_start();

-   standard_lu();
+   lu_utran_tmsi();

BTW("after a while, a new conn sends a CM Service Request. VLR responds 
with Auth Req, 2nd auth vector");
auth_request_sent = false;
diff --git a/tests/msc_vlr/msc_vlr_test_call.err 
b/tests/msc_vlr/msc_vlr_test_call.err
index 07e10a5..8c394d0 100644
--- a/tests/msc_vlr/msc_vlr_test_call.err
+++ b/tests/msc_vlr/msc_vlr_test_call.err
@@ -189,11 +189,11 @@
 DMSC 
msc_a(IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:LU){MSC_A_ST_RELEASED}:
 Deallocated, including all deferred deallocations
 - msub gone
   llist_count(_list) == 0
-DREF VLR subscr IMSI-90170010650:MSISDN-42342:TMSI-0x03020100 + 
standard_lu: now used by 2 (attached,standard_lu)
+DREF VLR subscr IMSI-90170010650:MSISDN-42342:TMSI-0x03020100 + 
lu_utran_tmsi: now used by 2 (attached,lu_utran_tmsi)
   vsub != NULL == 1
   strcmp(vsub->imsi, IMSI) == 0
   LAC == 23
-DREF VLR subscr IMSI-90170010650:MSISDN-42342:TMSI-0x03020100 - 
standard_lu: now used by 1 (attached)
+DREF VLR subscr IMSI-90170010650:MSISDN-42342:TMSI-0x03020100 - 
lu_utran_tmsi: now used by 1 (attached)


 - after a while, a new conn sends a CM Service Request. VLR responds with Auth 
Req, 2nd auth vector
@@ -663,11 +663,11 @@
 DMSC 
msc_a(IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:LU){MSC_A_ST_RELEASED}:
 Deallocated, including all deferred deallocations
 - msub gone
   llist_count(_list) == 0
-DREF VLR subscr IMSI-90170010650:MSISDN-42342:TMSI-0x03020100 + 
standard_lu: now used by 2 (attached,standard_lu)
+DREF VLR subscr IMSI-90170010650:MSISDN-42342:TMSI-0x03020100 + 
lu_utran_tmsi: now used by 2 (attached,lu_utran_tmsi)
   vsub != NULL == 1
   strcmp(vsub->imsi, IMSI) == 0
   LAC == 23
-DREF VLR subscr IMSI-90170010650:MSISDN-42342:TMSI-0x03020100 - 
standard_lu: now used by 1 (attached)
+DREF VLR subscr IMSI-90170010650:MSISDN-42342:TMSI-0x03020100 - 
lu_utran_tmsi: now used by 1 (attached)


 - after a while, MNCC asks us to setup a call, causing Paging
@@ -1134,11 +1134,11 @@
 DMSC 
msc_a(IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:LU){MSC_A_ST_RELEASED}:
 Deallocated, including all deferred deallocations
 - msub gone
   llist_count(_list) == 0
-DREF VLR subscr IMSI-90170010650:MSISDN-42342:TMSI-0x03020100 + 
standard_lu: now used by 2 (attached,standard_lu)
+DREF VLR subscr IMSI-90170010650:MSISDN-42342:TMSI-0x03020100 + 
lu_utran_tmsi: now used by 2 (attached,lu_utran_tmsi)
   vsub != NULL == 1
   strcmp(vsub->imsi, IMSI) == 0
   LAC == 23
-DREF VLR subscr IMSI-90170010650:MSISDN-42342:TMSI-0x03020100 - 
standard_lu: now used by 1 (attached)
+DREF VLR subscr IMSI-90170010650:MSISDN-42342:TMSI-0x03020100 - 
lu_utran_tmsi: now used by 1 (attached)


 - after a while, MNCC asks us to setup a call, causing Paging
@@ -1559,11 +1559,11 @@
 DMSC 
msc_a(IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:LU){MSC_A_ST_RELEASED}:
 Deallocated, including all deferred deallocations
 - msub gone
   llist_count(_list) == 0
-DREF VLR subscr IMSI-90170010650:MSISDN-42342:TMSI-0x03020100 + 
standard_lu: now used by 2 (attached,standard_lu)
+DREF VLR subscr 

Build failure of network:osmocom:nightly/osmo-pcu in Debian_8.0/i586

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_8.0/i586

Package network:osmocom:nightly/osmo-pcu failed to build in Debian_8.0/i586

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  168s]  from /usr/include/osmocom/gprs/gprs_bssgp.h:9,
[  168s]  from ./gprs_bssgp_pcu.h:32,
[  168s]  from gprs_bssgp_pcu.cpp:22:
[  168s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  168s]  enum gsm_band;
[  168s]   ^
[  168s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  168s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  168s]   ^
[  168s] Makefile:793: recipe for target 'gprs_bssgp_pcu.lo' failed
[  168s] make[2]: *** [gprs_bssgp_pcu.lo] Error 1
[  168s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  168s] Makefile:399: recipe for target 'all-recursive' failed
[  168s] make[1]: *** [all-recursive] Error 1
[  168s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  168s] dh_auto_build: make -j1 returned exit code 2
[  168s] debian/rules:12: recipe for target 'build' failed
[  168s] make: *** [build] Error 2
[  168s] dpkg-buildpackage: error: debian/rules build gave error exit status 2
[  168s] 
[  168s] lamb18 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
01:49:19 UTC 2019.
[  168s] 
[  168s] ### VM INTERACTION START ###
[  169s] Powering off.
[  170s] [  156.383094] reboot: Power down
[  170s] ### VM INTERACTION END ###
[  170s] 
[  170s] lamb18 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
01:49:21 UTC 2019.
[  170s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in xUbuntu_16.04/i586

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/xUbuntu_16.04/i586

Package network:osmocom:nightly/osmo-pcu failed to build in xUbuntu_16.04/i586

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  159s]  from /usr/include/osmocom/gprs/gprs_bssgp.h:9,
[  159s]  from ./gprs_bssgp_pcu.h:32,
[  159s]  from gprs_bssgp_pcu.cpp:22:
[  159s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  159s]  enum gsm_band;
[  159s]   ^
[  159s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  159s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  159s]   ^
[  159s] Makefile:805: recipe for target 'gprs_bssgp_pcu.lo' failed
[  159s] make[2]: *** [gprs_bssgp_pcu.lo] Error 1
[  159s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  159s] Makefile:411: recipe for target 'all-recursive' failed
[  159s] make[1]: *** [all-recursive] Error 1
[  159s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  159s] dh_auto_build: make -j1 returned exit code 2
[  159s] debian/rules:12: recipe for target 'build' failed
[  159s] make: *** [build] Error 2
[  159s] dpkg-buildpackage: error: debian/rules build gave error exit status 2
[  159s] 
[  159s] lamb12 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
01:52:18 UTC 2019.
[  159s] 
[  159s] ### VM INTERACTION START ###
[  162s] [  150.595120] sysrq: SysRq : Power Off
[  162s] [  150.600534] reboot: Power down
[  162s] ### VM INTERACTION END ###
[  162s] 
[  162s] lamb12 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
01:52:21 UTC 2019.
[  162s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-pcu in xUbuntu_16.04/x86_64

2019-11-03 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/xUbuntu_16.04/x86_64

Package network:osmocom:nightly/osmo-pcu failed to build in xUbuntu_16.04/x86_64

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-pcu

Last lines of build log:
[  138s]  from /usr/include/osmocom/gprs/gprs_bssgp.h:9,
[  138s]  from ./gprs_bssgp_pcu.h:32,
[  138s]  from gprs_bssgp_pcu.cpp:22:
[  138s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:13:6: error: use of enum 
'gsm_band' without previous declaration
[  138s]  enum gsm_band;
[  138s]   ^
[  138s] /usr/include/osmocom/gsm/protocol/gsm_04_08.h:77:46: error: use of 
enum 'gsm_band' without previous declaration
[  138s]  int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
[  138s]   ^
[  138s] Makefile:805: recipe for target 'gprs_bssgp_pcu.lo' failed
[  138s] make[2]: *** [gprs_bssgp_pcu.lo] Error 1
[  138s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
[  138s] Makefile:411: recipe for target 'all-recursive' failed
[  138s] make[1]: *** [all-recursive] Error 1
[  138s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  138s] dh_auto_build: make -j1 returned exit code 2
[  138s] debian/rules:12: recipe for target 'build' failed
[  138s] make: *** [build] Error 2
[  138s] dpkg-buildpackage: error: debian/rules build gave error exit status 2
[  138s] 
[  138s] sheep82 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
01:58:22 UTC 2019.
[  138s] 
[  138s] ### VM INTERACTION START ###
[  141s] [  132.860373] sysrq: SysRq : Power Off
[  141s] [  132.869536] reboot: Power down
[  141s] ### VM INTERACTION END ###
[  141s] 
[  141s] sheep82 failed "build osmo-pcu_0.7.0.38.05bc.dsc" at Mon Nov  4 
01:58:26 UTC 2019.
[  141s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Change in osmo-msc[master]: MNCC: add optional SDP to the socket protocol

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-msc/+/15948 )


Change subject: MNCC: add optional SDP to the socket protocol
..

MNCC: add optional SDP to the socket protocol

Add a char buffer of 1024 characters length as space for SDP to pass to /
receive from MNCC.

Actually support receiving MNCC without such an SDP tail. The main reason for
this is to avoid the need to adjust the ttcn3 implementation of MNCC: it would
stop working for older osmo-msc.

Older or non-SIP MNCC peers could operate the previous MNCC protocol unchanged
(save the protocol number bump) without having to implement SDP.

The SDP part in the MNCC protocol will be used in upcoming patch
I8c3b2de53ffae4ec3a66b9dabf308c290a2c999f.

Change-Id: Ie16f0804c4d99760cd4a0c544d0889b6313eebb7
---
M include/osmocom/msc/mncc.h
M src/libmsc/mncc.c
2 files changed, 11 insertions(+), 3 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/48/15948/1

diff --git a/include/osmocom/msc/mncc.h b/include/osmocom/msc/mncc.h
index 28ee9b3..2297b54 100644
--- a/include/osmocom/msc/mncc.h
+++ b/include/osmocom/msc/mncc.h
@@ -159,6 +159,9 @@

unsigned char   lchan_type;
unsigned char   lchan_mode;
+
+   /* A buffer to contain SDP ('\0' terminated) */
+   charsdp[1024];
 };

 struct gsm_data_frame {
@@ -167,7 +170,7 @@
unsigned char   data[0];
 };

-#define MNCC_SOCK_VERSION  5
+#define MNCC_SOCK_VERSION  6
 struct gsm_mncc_hello {
uint32_tmsg_type;
uint32_tversion;
@@ -190,6 +193,7 @@
uint16_tport;
uint32_tpayload_type;
uint32_tpayload_msg_type;
+   charsdp[1024];
 };

 struct gsm_mncc_bridge {
diff --git a/src/libmsc/mncc.c b/src/libmsc/mncc.c
index d0b2ff2..3d17ab9 100644
--- a/src/libmsc/mncc.c
+++ b/src/libmsc/mncc.c
@@ -262,7 +262,9 @@
case MNCC_RTP_FREE:
case MNCC_RTP_CONNECT:
case MNCC_RTP_CREATE:
-   if (len < sizeof(struct gsm_mncc_rtp)) {
+   /* Should we receive an MNCC message without SDP, the 
zero-initialized msgb will guarantee that the
+* char sdp[] starts with a '\0'. */
+   if (len < offsetof(struct gsm_mncc_rtp, sdp)) {
LOGP(DMNCC, LOGL_ERROR, "Short MNCC RTP\n");
return -EINVAL;
}
@@ -279,7 +281,9 @@
}
break;
default:
-   if (len < sizeof(struct gsm_mncc)) {
+   /* Should we receive an MNCC message without SDP, the 
zero-initialized msgb will guarantee that the
+* char sdp[] starts with a '\0'. */
+   if (len < offsetof(struct gsm_mncc, sdp)) {
LOGP(DMNCC, LOGL_ERROR, "Short MNCC Signalling\n");
return -EINVAL;
}

--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15948
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Ie16f0804c4d99760cd4a0c544d0889b6313eebb7
Gerrit-Change-Number: 15948
Gerrit-PatchSet: 1
Gerrit-Owner: neels 
Gerrit-MessageType: newchange


Change in osmo-msc[master]: validate dtap err logging

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-msc/+/15949 )


Change subject: validate dtap err logging
..

validate dtap err logging

Change-Id: I3edd90be40555dd648e9f16db5b6040665a19a95
---
M tests/msc_vlr/msc_vlr_tests.c
1 file changed, 3 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/49/15949/1

diff --git a/tests/msc_vlr/msc_vlr_tests.c b/tests/msc_vlr/msc_vlr_tests.c
index de4913a..e00c337 100644
--- a/tests/msc_vlr/msc_vlr_tests.c
+++ b/tests/msc_vlr/msc_vlr_tests.c
@@ -254,8 +254,10 @@

/* Mask the sequence number out before comparing */
msg->data[1] &= 0x3f;
-   if (!msgb_eq_data_print(msg, dtap_tx_expected->data, 
dtap_tx_expected->len))
+   if (!msgb_eq_data_print(msg, dtap_tx_expected->data, 
dtap_tx_expected->len)) {
+   btw("Expected %s", osmo_hexdump(dtap_tx_expected->data, 
dtap_tx_expected->len));
abort();
+   }

btw("DTAP matches expected message");


--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15949
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I3edd90be40555dd648e9f16db5b6040665a19a95
Gerrit-Change-Number: 15949
Gerrit-PatchSet: 1
Gerrit-Owner: neels 
Gerrit-MessageType: newchange


Change in osmo-ttcn3-hacks[master]: re-implement compare-results.sh as compare-results.py

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15943 )


Change subject: re-implement compare-results.sh as compare-results.py
..

re-implement compare-results.sh as compare-results.py

The compare-results.sh is annoyingly slow. Since our ttcn3 tests containers
support Python 2, re-implement in Python for much quicker evaluation.

Change-Id: I0747c9d66ffc7e4121497a2416fca78d7b56c8e6
---
A compare-results.py
D compare-results.sh
M start-testsuite.sh
3 files changed, 144 insertions(+), 214 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/43/15943/1

diff --git a/compare-results.py b/compare-results.py
new file mode 100755
index 000..48efd78
--- /dev/null
+++ b/compare-results.py
@@ -0,0 +1,143 @@
+#!/usr/bin/env python
+# Copyright 2018 sysmocom - s.f.m.c. GmbH
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+import argparse
+import re
+
+doc = "Compare TTCN3 test run results with expected results by junit logs."
+
+# The nicest would be to use an XML library, but I don't want to introduce 
dependencies on the build slaves.
+re_testcase = re.compile(r'')
+re_testcase_end = re.compile(r'''(|]*/>)''')
+re_failure = re.compile(r'''(http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-usage() {
-  echo "
-Usage:
-
-  $(basename "$0") expected_results.junit-log current_results.junit-log 
[--allow-* [...]]
-
-Return 0 if the expected results match the current results exactly.
-
-  --allow-skip   Allow runnning less tests than are listed in the expected 
file.
- Default is to return failure on any skipped tests.
-  --allow-newAllow more test results than found in the expected file.
- Default is to return failure on any unknown tests.
-  --allow-xpass  If a test was expected to fail but passed, return success.
- Default is to return failure on any mismatch.
-"
-}
-
-if [ ! -f "$expected_file" ]; then
-  usage
-  echo "Expected file not found: '$expected_file'"
-  exit 1
-fi
-
-if [ ! -f "$results_file" ]; then
-  usage
-  echo "Current results file not found: '$results_file'"
-  exit 1
-fi
-
-shift
-shift
-
-allow_xpass=0
-allow_skip=0
-allow_new=0
-
-while test -n "$1"; do
-  arg="$1"
-  if [ "x$arg" = "x--allow-xpass" ]; then
-allow_xpass=1
-  elif [ "x$arg" = "x--allow-skip" ]; then
-allow_skip=1
-  elif [ "x$arg" = "x--allow-new" ]; then
-allow_new=1
-  else
-usage
-echo "Unknown argument: '$arg'"
-exit 1
-  fi
-  shift
-done
-
-echo "Comparing expected results $expected_file against results in 
$results_file
-"
-
-parse_testcase() {
-  line="$1"
-  suite_name="$(echo "$line" | sed 
's,.*classname='"'"'\([^'"'"']*\)'"'"'.*,\1,')"
-  test_name="$(echo "$line" | sed 's,.*\$')" ]; then
-test_result="pass"
-  else
-test_result="FAIL"
-  fi
-}
-
-pass=0
-xfail=0
-more_failures=0
-more_successes=0
-skipped=0
-new=0
-
-while read line; do
-  parse_testcase "$line"
-  exp_suite_name="$suite_name"
-  exp_test_name="$test_name"
-  exp_test_result="$test_result"
-  matched="0"
-
-  while read line; do
-parse_testcase "$line"
-if [ "x$exp_suite_name" != "x$suite_name" ]; then
-  continue
-fi
-if [ "x$exp_test_name" != "x$test_name" ]; then
-  continue
-fi
-
-if [ "x$exp_test_result" = "x$test_result" ]; then
-  if [ "x$exp_test_result" = "xFAIL" ]; then
-exp_test_result="xfail"
-   (( xfail += 1 ))
-  else
-(( pass += 1 ))
-  fi
-  echo "$exp_test_result $suite_name.$test_name"
-else
-  if [ "x$exp_test_result" = "xFAIL" ]; then
-exp_test_result="xfail"
-  fi
-  echo "$exp_test_result->$test_result $suite_name.$test_name"
-  if [ "x$test_result" = "xFAIL" ]; then
-(( more_failures += 1 ))
-  else
-   (( more_successes += 1 ))
-  fi
-fi
-matched="1"
-break
-  done <<< "$(grep "https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15943
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings


Change in osmo-msc[master]: msc_vlr_tests: log descriptions in color with -v

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-msc/+/15951 )


Change subject: msc_vlr_tests: log descriptions in color with -v
..

msc_vlr_tests: log descriptions in color with -v

Change-Id: I2b28a94a5b27932e343952ba82e7e11c46f5e87d
---
M tests/msc_vlr/msc_vlr_tests.h
1 file changed, 4 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/51/15951/1

diff --git a/tests/msc_vlr/msc_vlr_tests.h b/tests/msc_vlr/msc_vlr_tests.h
index 57022b4..88f80b4 100644
--- a/tests/msc_vlr/msc_vlr_tests.h
+++ b/tests/msc_vlr/msc_vlr_tests.h
@@ -35,9 +35,12 @@
 #include 

 extern bool _log_lines;
+#define LOG_COLOR "\033[1;33m"
+#define LOG_COLOR_OFF "\033[0;m"
+
 #define _log(fmt, args...) do { \
if (_log_lines) \
-   fprintf(stderr, " %4d:%s: " fmt "\n", \
+   fprintf(stderr, LOG_COLOR " %4d:%s: " fmt LOG_COLOR_OFF 
"\n", \
__LINE__, __FILE__, ## args ); \
else \
fprintf(stderr, fmt "\n", ## args ); \

--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15951
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I2b28a94a5b27932e343952ba82e7e11c46f5e87d
Gerrit-Change-Number: 15951
Gerrit-PatchSet: 1
Gerrit-Owner: neels 
Gerrit-MessageType: newchange


Change in osmo-msc[master]: rtp_stream: sanely cancel MGW endpoint FSM notify

2019-11-03 Thread neels
Hello pespin, laforge, Jenkins Builder,

I'd like you to reexamine a change. Please visit

https://gerrit.osmocom.org/c/osmo-msc/+/15851

to look at the new patch set (#2).

Change subject: rtp_stream: sanely cancel MGW endpoint FSM notify
..

rtp_stream: sanely cancel MGW endpoint FSM notify

libosmo-mgcp-client recently introduced osmo_mgcpc_ep_cancel_notify() to cancel
notification if a notify target FSM deallocates. Use it for sanity in
rtp_stream FSM cleanup, the notify target for endpoint FSMs.

Depends: I41687d7f3a808587ab7f7520f46dcc3c29cff92d (osmo-mgw)
 I14f7a46031327fb2b2047b998eae6ad0bb7324ad (osmo-mgw)
Change-Id: I351bb8e8fbc46eb629bcd599f6453e2c84c15015
---
M src/libmsc/rtp_stream.c
1 file changed, 1 insertion(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/51/15851/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15851
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I351bb8e8fbc46eb629bcd599f6453e2c84c15015
Gerrit-Change-Number: 15851
Gerrit-PatchSet: 2
Gerrit-Owner: neels 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-MessageType: newpatchset


Change in osmo-msc[master]: charts: add full MO and MT voice call diagram

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-msc/+/15945 )


Change subject: charts: add full MO and MT voice call diagram
..

charts: add full MO and MT voice call diagram

Add voice_call_full.msc, generated from a real 2G<->3G voice call log fed to
msc_log_to_ladder.py.

The idea is to document how the voice call sequence of events changes in
upcoming patches.

Change-Id: I8a907d6a4ece1f3ad78da75a8c3e3e76afd5418d
---
M doc/sequence_charts/Makefile.am
A doc/sequence_charts/voice_call_full.msc
2 files changed, 126 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/45/15945/1

diff --git a/doc/sequence_charts/Makefile.am b/doc/sequence_charts/Makefile.am
index f1775c8..6782f44 100644
--- a/doc/sequence_charts/Makefile.am
+++ b/doc/sequence_charts/Makefile.am
@@ -13,18 +13,20 @@
inter_bsc_ho.png \
inter_msc_ho.png \
mncc_call_fsm.png \
+   voice_call_full.png \
$(NULL)

 msc: \
$(builddir)/mncc_call_fsm.png \
$(builddir)/inter_bsc_ho.png \
$(builddir)/inter_msc_ho.png \
+   $(builddir)/voice_call_full.png \
$(NULL)

 dot: \
$(NULL)

-$(builddir)/%.png: $(srcdir)/%.msc
+$(builddir)/%.png: %.msc
mscgen -T png -o $@ $<

 $(builddir)/%.png: $(srcdir)/%.dot
diff --git a/doc/sequence_charts/voice_call_full.msc 
b/doc/sequence_charts/voice_call_full.msc
new file mode 100644
index 000..75fcef2
--- /dev/null
+++ b/doc/sequence_charts/voice_call_full.msc
@@ -0,0 +1,123 @@
+# Generated by msc_log_to_ladder.py
+msc {
+hscale="3";
+moms[label="MS,BSS (MO)\nUE,hNodeB (MO)"],momgw[label="MGW for MSC 
(MO)"],momsc[label="MSC (MO)"],sip[label="MNCC to PBX 
via\nosmo-sip-connector"],mtmsc[label="MSC (MT)"],mtmgw[label="MGW for MSC 
(MT)"],mtms[label="BSS,MS (MT)\nhNodeB,UE (MT)"];
+moms =>> momsc [label="MM CM_SERV_REQ"];
+moms <<= momsc [label="MM AUTH_REQ"];
+moms =>> momsc [label="MM AUTH_RESP"];
+moms <<= momsc [label="(BSSMAP) CIPHER_MODE_COMMAND"];
+moms =>> momsc [label="(BSSMAP) Ciphering Mode Complete"];
+moms =>> momsc [label="RR CIPH_M_COMPL"];
+moms =>> momsc [label="CC SETUP"];
+momsc note momsc   [label="CC starts guard timer (180s)"];
+momsc abox momsc   [label="CC state:\nINITIATED"];
+momsc =>> sip  [label="MNCC_SETUP_IND"];
+momsc <<= sip  [label="MNCC_RTP_CREATE"];
+momgw <<= momsc[label="for RAN: CRCX\nrtpbridge/*@msc"];
+momgw =>> momsc[label="for RAN: CRCX OK\nEP-1 CI-1"];
+moms <<= momsc [label="(BSSMAP) ASSIGNMENT_COMMAND"];
+moms =>> momsc [label="(BSSMAP) Assignment Complete"];
+momgw <<= momsc[label="for RAN: MDCX\nEP-1 CI-1"];
+momgw =>> momsc[label="for RAN: MDCX OK\nEP-1 CI-1"];
+momgw <<= momsc[label="for CN: CRCX\nEP-1"];
+momgw =>> momsc[label="for CN: CRCX OK\nEP-1 CI-2"];
+momsc =>> sip  [label="MNCC_RTP_CREATE\nIP:port-1"];
+momsc <<= sip  [label="MNCC_CALL_PROC_REQ"];
+momsc note momsc   [label="CC stops guard timer"];
+momsc note momsc   [label="CC starts guard timer (180s)"];
+momsc abox momsc   [label="CC state:\nMO_CALL_PROC"];
+moms <<= momsc [label="CC CALL_PROC"];
+mtmsc <<= sip  [label="MNCC_SETUP_REQ"];
+mtms <<= mtmsc [label="Paging"];
+mtms =>> mtmsc [label="RR PAG_RESP"];
+mtms <<= mtmsc [label="MM AUTH_REQ"];
+mtms =>> mtmsc [label="MM NULL"];
+mtms =>> mtmsc [label="MM AUTH_RESP"];
+mtms <<= mtmsc [label="(RANAP) SecurityModeCommand"];
+mtms =>> mtmsc [label="(RANAP) SecurityModeControl successfulOutcome"];
+mtms <<= mtmsc [label="(RANAP) CommonId"];
+mtmsc note mtmsc   [label="CC starts timer T303 (30s)"];
+mtmsc abox mtmsc   [label="CC state:\nCALL_PRESENT"];
+mtms <<= mtmsc [label="CC SETUP"];
+mtms =>> mtmsc [label="CC CALL_CONF"];
+mtmsc note mtmsc   [label="CC stops timer T303"];
+mtmsc note mtmsc   [label="CC starts timer T310 (30s)"];
+mtmsc abox mtmsc   [label="CC state:\nMO_TERM_CALL_CONF"];
+mtmgw <<= mtmsc[label="for RAN: CRCX\nrtpbridge/*@msc"];
+mtmsc =>> sip  [label="MNCC_CALL_CONF_IND"];
+mtmsc <<= sip  [label="MNCC_RTP_CREATE"];
+mtmgw =>> mtmsc[label="for RAN: CRCX OK\nEP-2 CI-3"];
+mtms <<= mtmsc [label="(RANAP) RAB AssignmentRequest"];
+mtms =>> mtmsc [label="(RANAP) RAB Assignment Response"];
+mtmgw <<= mtmsc[label="for RAN: MDCX\nEP-2 CI-3"];
+mtmgw =>> mtmsc[label="for RAN: MDCX OK\nEP-2 CI-3"];
+mtmgw <<= mtmsc[label="for CN: CRCX\nEP-2"];
+mtmgw =>> mtmsc[label="for CN: CRCX OK\nEP-2 CI-4"];
+mtmsc =>> sip  [label="MNCC_RTP_CREATE\nIP:port-2"];
+mtms =>> mtmsc [label="CC ALERTING"];
+mtmsc note mtmsc   [label="CC stops timer T310"];
+mtmsc note mtmsc   [label="CC starts timer T301 (180s)"];
+mtmsc abox mtmsc   [label="CC state:\nCALL_RECEIVED"];
+mtmsc =>> sip  [label="MNCC_ALERT_IND"];
+momsc <<= sip  [label="MNCC_ALERT_REQ"];
+momsc note momsc   [label="CC stops 

Change in osmo-msc[master]: BSSMAP: decode Codec List (BSS Supported)

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-msc/+/15946 )


Change subject: BSSMAP: decode Codec List (BSS Supported)
..

BSSMAP: decode Codec List (BSS Supported)

Actually decode the Codec List (BSS Supported) in BSSMAP, in both the Complete
Layer 3 Information and the Assignment Complete messages.

An upcoming patch improves codec negotiation and requires the BSS supported
codecs, which are so far ignored (which is/was a pity as osmo-bsc goes at great
lengths to compose those IEs).

Change-Id: I66c735c79e982388f06b5de783aa584c9d13569e
---
M include/osmocom/msc/ran_msg.h
M src/libmsc/ran_msg_a.c
2 files changed, 33 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/46/15946/1

diff --git a/include/osmocom/msc/ran_msg.h b/include/osmocom/msc/ran_msg.h
index 081c7ad..1b0e2e8 100644
--- a/include/osmocom/msc/ran_msg.h
+++ b/include/osmocom/msc/ran_msg.h
@@ -192,6 +192,7 @@
union {
struct {
const struct gsm0808_cell_id *cell_id;
+   const struct gsm0808_speech_codec_list 
*codec_list_bss_supported;
struct msgb *msg;
} compl_l3;
struct msgb *dtap;
@@ -226,6 +227,7 @@
struct osmo_sockaddr_str remote_rtp;
bool codec_present;
enum mgcp_codecs codec;
+   const struct gsm0808_speech_codec_list 
*codec_list_bss_supported;
bool osmux_present;
uint8_t osmux_cid;
} assignment_complete;
diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c
index fc9a9d7..2307fa6 100644
--- a/src/libmsc/ran_msg_a.c
+++ b/src/libmsc/ran_msg_a.c
@@ -52,6 +52,8 @@
struct gsm0808_cell_id cell_id;
struct tlv_p_entry *ie_cell_id = TLVP_GET(tp, 
GSM0808_IE_CELL_IDENTIFIER);
struct tlv_p_entry *ie_l3_info = TLVP_GET(tp, 
GSM0808_IE_LAYER_3_INFORMATION);
+   struct tlv_p_entry *ie_codec_list_bss_supported = TLVP_GET(tp, 
GSM0808_IE_SPEECH_CODEC_LIST);
+   struct gsm0808_speech_codec_list codec_list_bss_supported;
struct ran_msg ran_dec_msg = {
.msg_type = RAN_MSG_COMPL_L3,
.msg_name = "BSSMAP Complete Layer 3 Information",
@@ -114,6 +116,20 @@
return -ENODATA;
}

+   /* Decode Codec List (BSS Supported) */
+   if (ie_codec_list_bss_supported) {
+   rc = gsm0808_dec_speech_codec_list(_list_bss_supported,
+  
ie_codec_list_bss_supported->val, ie_codec_list_bss_supported->len);
+   if (rc < 0) {
+   LOG_RAN_A_DEC_MSG(LOGL_ERROR,
+ "Complete Layer 3 Information: unable 
to decode IE Codec List (BSS Supported)"
+ " (rc=%d), continuing anyway\n", rc);
+   /* This IE is not critical, do not abort with error. */
+   } else
+   ran_dec_msg.compl_l3.codec_list_bss_supported = 
_list_bss_supported;
+   }
+
+
return ran_decoded(ran_dec, _dec_msg);
 }

@@ -261,10 +277,12 @@
 {
struct tlv_p_entry *ie_aoip_transp_addr = TLVP_GET(tp, 
GSM0808_IE_AOIP_TRASP_ADDR);
struct tlv_p_entry *ie_speech_codec = TLVP_GET(tp, 
GSM0808_IE_SPEECH_CODEC);
+   struct tlv_p_entry *ie_codec_list_bss_supported = TLVP_GET(tp, 
GSM0808_IE_SPEECH_CODEC_LIST);
struct tlv_p_entry *ie_osmux_cid = TLVP_GET(tp, 
GSM0808_IE_OSMO_OSMUX_CID);
struct sockaddr_storage rtp_addr;
struct sockaddr_in *rtp_addr_in;
struct gsm0808_speech_codec sc;
+   struct gsm0808_speech_codec_list codec_list_bss_supported;
int rc;
struct ran_msg ran_dec_msg = {
.msg_type = RAN_MSG_ASSIGNMENT_COMPLETE,
@@ -314,6 +332,19 @@
ran_dec_msg.assignment_complete.codec = 
ran_a_mgcp_codec_from_sc();
}

+   if (ie_codec_list_bss_supported) {
+   /* Decode Codec List (BSS Supported) */
+   rc = gsm0808_dec_speech_codec_list(_list_bss_supported,
+  
ie_codec_list_bss_supported->val, ie_codec_list_bss_supported->len);
+   if (rc < 0) {
+   LOG_RAN_A_DEC_MSG(LOGL_ERROR,
+ "Assignment Complete: unable to 
decode IE Codec List (BSS Supported)"
+ " (rc=%d), continuing anyway\n", rc);
+   /* This IE is not critical, do not abort with error. */
+   } else
+   
ran_dec_msg.assignment_complete.codec_list_bss_supported = 
_list_bss_supported;
+   }
+
return ran_decoded(ran_dec, _dec_msg);
 }


--
To view, visit 

Change in osmo-ttcn3-hacks[master]: cosmetic: remove brace from comment

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15937 )


Change subject: cosmetic: remove brace from comment
..

cosmetic: remove brace from comment

This '{' in the comment gets my auto indenting / syntax brace matching all
confused.

Change-Id: I303abe800037abd0c9694ae750a7acaa79c9754f
---
M msc/BSC_ConnectionHandler.ttcn
1 file changed, 1 insertion(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/37/15937/1

diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index 0ddc911..7a94d85 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -1043,7 +1043,7 @@
MNCC.send(ts_MNCC_ALERT_req(cpars.mncc_callref));
}

-   //[g_pars.ran_is_geran] BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, 
tla_ass)) -> value bssap {
+   //[g_pars.ran_is_geran] BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, 
tla_ass)) -> value bssap
[] BSSAP.receive(tr_BSSMAP_AssignmentReq(omit)) -> value bssap {
log("f_mo_call_establish 4: rx Assignment Request");
var BSSMAP_IE_AoIP_TransportLayerAddress tla;

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15937
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I303abe800037abd0c9694ae750a7acaa79c9754f
Gerrit-Change-Number: 15937
Gerrit-PatchSet: 1
Gerrit-Owner: neels 
Gerrit-MessageType: newchange


Change in osmo-ttcn3-hacks[master]: msc: fix Iu mo call

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15939 )


Change subject: msc: fix Iu mo call
..

msc: fix Iu mo call

Change-Id: I0ead36333ab665147b8d222070ea5cf8afc555ec
---
M library/ranap/RANAP_Templates.ttcn
M msc/BSC_ConnectionHandler.ttcn
2 files changed, 48 insertions(+), 31 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/39/15939/1

diff --git a/library/ranap/RANAP_Templates.ttcn 
b/library/ranap/RANAP_Templates.ttcn
index df4ea03..c616231 100644
--- a/library/ranap/RANAP_Templates.ttcn
+++ b/library/ranap/RANAP_Templates.ttcn
@@ -1305,7 +1305,7 @@
protocolIEs := {
{
id := id_RAB_SetupOrModifyList,
-   criticality := reject,
+   criticality := ?,
value_ := {
rAB_SetupOrModifyList 
:= rab_sml
}
diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index 23697da..b11d24b 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -1091,6 +1091,20 @@
}
 }

+private altstep as_optional_mgcp_dlcx(CallParameters cpars) runs on 
BSC_ConnHdlr {
+   var MgcpCommand mgcp_cmd;
+   var boolean respond_to_dlcx := not (isbound(cpars.mgw_drop_dlcx) and 
valueof(cpars.mgw_drop_dlcx));
+   [] MGCP.receive(tr_DLCX(?)) -> value mgcp_cmd {
+   log("as_optional_mgcp_dlcx: rx MGCP DLCX");
+   if (respond_to_dlcx) {
+   MGCP.send(ts_DLCX_ACK2(mgcp_cmd.line.trans_id));
+   }
+   /* Without this 'repeat', currently active other interleave and 
alt series exit as soon as a
+* DLCX is handled. */
+   repeat;
+   }
+}
+
 function f_mo_call_establish(inout CallParameters cpars)
 runs on BSC_ConnHdlr {

@@ -1099,6 +1113,7 @@
var template MgcpResponse mgcp_resp;
var boolean respond_to_dlcx;
var PDU_BSSAP bssap;
+   var RANAP_PDU ranap;
var MgcpOsmuxCID osmux_cid;

cpars.mo_call := true;
@@ -1193,11 +1208,29 @@
}
BSSAP.send(bssap);
}
-   /*
-   [!g_pars.ran_is_geran] BSSAP.receive(tr_RANAP_RabAssReq(rab_sml)) {
-   //BSSAP.send(ts_RANAP_RabAssResp(rab_sml)); FIXME
+   [] BSSAP.receive(tr_RANAP_RabAssReq(*)) -> value ranap {
+   log("f_mo_call_establish 4.iu: rx RANAP RAB Assignment 
Request");
+   var RAB_SetupOrModifiedList l := {
+   {
+   {
+   id := id_RAB_SetupOrModifiedItem,
+   criticality := ignore,
+   value_ := {
+ rAB_SetupOrModifiedItem := {
+   rAB_ID := int2bit(23, 8),
+   transportLayerAddress := 
hex2bit( '350001c0a8021500'H),
+   iuTransportAssociation := {
+   bindingID := '040c'O
+   },
+   dl_dataVolumes := omit,
+   iE_Extensions := omit
+   }
+   }
+   }
+   }
+   };
+   BSSAP.send(ts_RANAP_RabAssResp(l));
}
-   */

/* MDCX setting up the RAN side remote RTP address received from 
Assignment Complete */
[] MGCP.receive(tr_MDCX) -> value mgcp_cmd {
@@ -1315,48 +1348,32 @@
respond_to_dlcx := not (isbound(cpars.mgw_drop_dlcx) and 
valueof(cpars.mgw_drop_dlcx));

var default mdcx := 
activate(as_optional_mgcp_mdcx(cpars.mgw_conn_2.mgw_rtp_ip, 
cpars.mgw_conn_2.mgw_rtp_port));
+   var default dlcx := activate(as_optional_mgcp_dlcx(cpars));

/* clearing of radio channel */
-   interleave {
-   //[g_pars.ran_is_geran] BSSAP.receive(t_clear) {
-   [] BSSAP.receive(t_clear) {
+   alt {
+   [g_pars.ran_is_geran] BSSAP.receive(t_clear) {
log("f_call_hangup 5: rx BSSAP Clear Command");
BSSAP.send(ts_BSSMAP_ClearComplete);
BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND);
log("f_call_hangup 6: rx SCCP DISC");
+   setverdict(pass);
}
-   /*
-   

Change in osmo-ttcn3-hacks[master]: msc-test: improve error log on Assignment RTP port mismatch

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15935 )


Change subject: msc-test: improve error log on Assignment RTP port mismatch
..

msc-test: improve error log on Assignment RTP port mismatch

Before this, if an Assignment Request contains an unexpected Transport Layer
Address, the test completely rejects the Assignment Request.

Instead, accept any tla in the Assignment, and compare the expected tla in the
Assignment's interleave action. Thus we directly get logging hinting at the tla
instead of a T_guard timeout.

Change-Id: I04847c10d6c3bf9e04cfda6e343dfd4a65be71a5
---
M msc/BSC_ConnectionHandler.ttcn
1 file changed, 8 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/35/15935/1

diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index fb2d888..5b0a125 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -1044,12 +1044,19 @@
}

//[g_pars.ran_is_geran] BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, 
tla_ass)) -> value bssap {
-   [] BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, tla_ass)) -> value bssap 
{
+   [] BSSAP.receive(tr_BSSMAP_AssignmentReq(omit)) -> value bssap {
log("f_mo_call_establish 4: rx Assignment Request");
var BSSMAP_IE_AoIP_TransportLayerAddress tla;
var BSSMAP_IE_SpeechCodec codec;
var BSSMAP_IE_Osmo_OsmuxCID osmuxCID;

+   if (tla_ass != 
bssap.pdu.bssmap.assignmentRequest.aoIPTransportLayer) {
+   log("Expected:", tla_ass);
+   log("Got:", 
bssap.pdu.bssmap.assignmentRequest.aoIPTransportLayer);
+   setverdict(fail, "MSC sent Assignment Request with 
unexpected AoIP Transport Layer IE");
+   mtc.stop;
+   }
+
tla := 
valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.bss_rtp_ip), 
cpars.bss_rtp_port));
codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}));
if (cpars.use_osmux) {

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15935
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I04847c10d6c3bf9e04cfda6e343dfd4a65be71a5
Gerrit-Change-Number: 15935
Gerrit-PatchSet: 1
Gerrit-Owner: neels 
Gerrit-MessageType: newchange


Change in osmo-ttcn3-hacks[master]: msc: add f_tc_invalid_mgcp_crash

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15942 )


Change subject: msc: add f_tc_invalid_mgcp_crash
..

msc: add f_tc_invalid_mgcp_crash

Make sure that osmo-msc doesn't crash if a successful CRCX response contains an
invalid IP address.

Originally/recently, osmo-msc did not validate the IP addresses at all. In an
intermediate patch I added error handling, releasing the call. That uncovered a
use-after-free problem in libosmo-mgcp-client. This problem is fixed by
osmo_fsm_set_dealloc_ctx() and an osmo-mgw fix (see
I7df2e9202b04e7ca7366bb0a8ec53cf3bb14faf3 in osmo-mgw).

Add this test to make sure the crash is not re-introduced.

Change-Id: I0c76b0a7a33a96a39a242ecd387ba3769161cf7a
---
M msc/BSC_ConnectionHandler.ttcn
M msc/MSC_Tests.ttcn
2 files changed, 40 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/42/15942/1

diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index 853d1e5..092906d 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -711,6 +711,7 @@
   (f_mt_call and 
f_mt_call) */
boolean stop_after_cc_setup,/* Special case: stop 
call establish after CC Setup */
boolean ran_clear_when_alerting,/* Special case: send 
Clear upon CC Alerting */
+   boolean expect_release, /* Special case: expect 
call establish to cause direct CC Rel */

MgcpCallId mgcp_call_id optional,   /* MGCP Call ID; 
CallAgent allocated */
MgcpEndpoint mgcp_ep optional   /* MGCP Endpoint, 
CallAgent or MGW allocated */,
@@ -749,6 +750,7 @@
mgw_drop_dlcx := false,
stop_after_cc_setup := false,
ran_clear_when_alerting := false,
+   expect_release := false,
mgcp_call_id := omit,
mgcp_ep := "rtpbridge/1@mgw",
use_osmux := false,
@@ -1210,6 +1212,8 @@

ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.mgw_conn_1.mgw_rtp_ip), ?);

var default mdcx := 
activate(as_optional_mgcp_mdcx(cpars.mgw_conn_2.mgw_rtp_ip, 
cpars.mgw_conn_2.mgw_rtp_port));
+   var boolean got_mncc_setup_compl_ind := false;
+   var boolean got_cc_connect := false;

interleave {
[] MNCC.receive(tr_MNCC_SETUP_ind(?, 
tr_MNCC_number(hex2str(cpars.called_party -> value mncc {
@@ -1347,15 +1351,27 @@

[] MNCC.receive(tr_MNCC_SETUP_COMPL_ind(?)) -> value mncc {
log("f_mo_call_establish 8: rx MNCC SETUP COMPLETE ind");
+   got_mncc_setup_compl_ind := true;
+   if (not cpars.expect_release and got_cc_connect) {
+   break;
+   }
}

[] 
BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_CONNECT(cpars.transaction_id))) {
log("f_mo_call_establish 10: rx CC CONNECT");

BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_CONNECT_ACK(cpars.transaction_id)));
+   got_cc_connect := true;
+   if (not cpars.expect_release and got_mncc_setup_compl_ind) {
+   break;
+   }
}

[] 
BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_RELEASE(cpars.transaction_id))) {
log("f_mo_call_establish 11: rx CC RELEASE");
+   if (not cpars.expect_release) {
+   setverdict(fail, "Got unexpected CC Release");
+   mtc.stop;
+   }
f_expect_clear();
break;
}
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 4ef592f..480ec96 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -5662,6 +5662,29 @@
vc_conn.done;
 }

+friend function f_tc_invalid_mgcp_crash(charstring id, BSC_ConnHdlrPars pars) 
runs on BSC_ConnHdlr {
+   f_init_handler(pars);
+   var CallParameters cpars := valueof(t_CallParams('12345'H, 0));
+
+   /* Set invalid IP address so that osmo-msc discards the rtp_stream and 
MGCP endpoint FSM instances in the middle
+* of successful MGCP response dispatch. If things aren't safeguarded, 
the on_success() in osmo_mgcpc_ep_fsm
+* will cause a use-after-free after that event dispatch. */
+   cpars.mgw_conn_1.mgw_rtp_ip := "0.0.0.0";
+   cpars.mgw_conn_2.mgw_rtp_ip := "0.0.0.0";
+   cpars.rtp_sdp_format := "FOO/8000";
+   cpars.expect_release := true;
+
+   f_perform_lu();
+   f_mo_call_establish(cpars);
+}
+testcase TC_invalid_mgcp_crash() runs on MTC_CT {
+   var BSC_ConnHdlr vc_conn;
+   f_init();
+
+   vc_conn := f_start_handler(refers(f_tc_invalid_mgcp_crash), 7);
+   vc_conn.done;
+}
+
 control {
execute( TC_cr_before_reset() );
execute( TC_lu_imsi_noauth_tmsi() );
@@ -5792,6 

Change in osmo-ttcn3-hacks[master]: msc: log tweaks for call / call hangup

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15941 )


Change subject: msc: log tweaks for call / call hangup
..

msc: log tweaks for call / call hangup

Change-Id: I06474e3d592195a8c422493166d9f042da1ac7e6
---
M msc/BSC_ConnectionHandler.ttcn
1 file changed, 5 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/41/15941/1

diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index 63c64bb..853d1e5 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -1389,6 +1389,7 @@
t_clear := tr_BSSMAP_ClearCommandCSFB;
}

+   log("f_call_hangup 0: tx MNCC_DISC_REQ");
MNCC.send(ts_MNCC_DISC_req(cpars.mncc_callref, 
valueof(ts_MNCC_cause(23;
BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_DISC(cpars.transaction_id)));

@@ -1449,9 +1450,10 @@

f_mt_call_establish(cpars);

-   /* Hold the call for some time */
+   log("Hold the call for some time");
f_sleep(3.0);

+   log("Hangup");
f_call_hangup(cpars, true);

setverdict(pass);
@@ -1462,9 +1464,10 @@

f_mo_call_establish(cpars);

-   /* Hold the call for some time */
+   log("Hold the call for some time");
f_sleep(3.0);

+   log("Hangup");
f_call_hangup(cpars, false);

setverdict(pass);

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15941
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I06474e3d592195a8c422493166d9f042da1ac7e6
Gerrit-Change-Number: 15941
Gerrit-PatchSet: 1
Gerrit-Owner: neels 
Gerrit-MessageType: newchange


Change in osmo-ttcn3-hacks[master]: improve/fix f_tc_mo_setup_dtmf_dup

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15936 )


Change subject: improve/fix f_tc_mo_setup_dtmf_dup
..

improve/fix f_tc_mo_setup_dtmf_dup

- Fix error log for a missing final DTMF.

- Instead of code dup to establish a call, use f_mo_call_establish().  This
  will make the test benefit from changes to f_mo_call_establish() (which will
  soon come up to accomodate changes in osmo-msc's codec negotiation).

- Instead of hardcoding the expected N_SD counter values to detect DTAP
  duplicates, use f_bssmap_last_n_sd() and f_next_n_sd(), so that the N_SD
  counter is correct regardless of how many DTAP were sent in
  f_mo_call_establish().

- Instead of hardcoding a correct N_SD in the end, use skip_seq_patching ==
  false, so that the ttcn DTAP correctly tracks N_SD for subsequent call
  release messages.

- Release the call.

Change-Id: Ibfa8b906764f2d5ed75fe74125be42af4546e864
---
M msc/BSC_ConnectionHandler.ttcn
M msc/MSC_Tests.ttcn
2 files changed, 26 insertions(+), 16 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/36/15936/1

diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index 5b0a125..0ddc911 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -1273,50 +1273,58 @@
var MgcpCommand mgcp_cmd;
var template PDU_ML3_MS_NW dtmf_dtap;

-   f_establish_fully();
+   f_mo_call_establish(cpars);

-   /* Create MNCC and MGCP expect */
-   f_create_mncc_expect(hex2str(cpars.called_party));
-   f_create_mgcp_expect(ExpectCriteria:{omit,omit,omit});
+   /* Send DTMF: send the exact same DTAP message twice, the dup should be 
filtered out by
+* 3GPP TS 24.007 11.2.3.2 Message Type Octet / Duplicate Detection. */

-   BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_SETUP(cpars.transaction_id, 
cpars.called_party)));
-   MNCC.receive(tr_MNCC_SETUP_ind(?, 
tr_MNCC_number(hex2str(cpars.called_party -> value mncc;
-   cpars.mncc_callref := mncc.u.signal.callref;
+   /* Find out the next NSD that will be used, from RAN emulation. */
+   var N_Sd_Array last_n_sd := f_bssmap_last_n_sd();
+   var uint2_t next_n_sd := f_next_n_sd(last_n_sd, 0 /* cc is index 0 */);

-   /* Send DTMF */
+   /* Compose DTAP with this correct NSD */
dtmf_dtap := ts_ML3_MO_CC_START_DTMF(cpars.transaction_id, "2");
-   dtmf_dtap.msgs.cc.startDTMF.nsd := int2bit(2, 2);
-   BSSAP.send(ts_PDU_DTAP_MO(dtmf_dtap, '00'O, true));
+
+   /* Here, pass skip_seq_patching == false so that the RAN Emulation NSD 
increments after this message. */
+   BSSAP.send(ts_PDU_DTAP_MO(dtmf_dtap, '00'O, false));
T.start;
alt {
-   [] MNCC.receive(tr_MNCC_START_DTMF_ind(cpars.mncc_callref, "2")) {}
+   [] MNCC.receive(tr_MNCC_START_DTMF_ind(cpars.mncc_callref, "2")) {
+   log("f_mo_seq_dtmf_dup() 1: got first START_DTMF_ind");
+   }
[] T.timeout {
setverdict(fail, "Timeout waiting for START_DTMF_ind");
mtc.stop;
}
}

+   /* Send the exact same DTAP with above NSD, which is now incorrect (has 
not incremented), so that this message
+* will get filtered by the duplicate detection. Write NSD into DTAP 
and pass skip_seq_patching == true. */
+   dtmf_dtap.msgs.cc.startDTMF.nsd := int2bit(next_n_sd, 2);
BSSAP.send(ts_PDU_DTAP_MO(dtmf_dtap, '00'O, true));
T.start;
alt {
[] MNCC.receive(tr_MNCC_START_DTMF_ind(cpars.mncc_callref, "2")) {
-   setverdict(fail, "Received duplicate START_DTMF_ind");
+   setverdict(fail, "f_mo_seq_dtmf_dup() 2: Received duplicate 
START_DTMF_ind");
mtc.stop;
}
[] T.timeout { }
}
 
+   /* Here the NSD should be correct again and we see a DTMF. */
dtmf_dtap := ts_ML3_MO_CC_START_DTMF(cpars.transaction_id, "3");
-   dtmf_dtap.msgs.cc.startDTMF.nsd := int2bit(3, 2);
-   BSSAP.send(ts_PDU_DTAP_MO(dtmf_dtap, '00'O, true));
+   BSSAP.send(ts_PDU_DTAP_MO(dtmf_dtap, '00'O, false));
alt {
-   [] MNCC.receive(tr_MNCC_START_DTMF_ind(cpars.mncc_callref, "3")) { }
+   [] MNCC.receive(tr_MNCC_START_DTMF_ind(cpars.mncc_callref, "3")) {
+   log("f_mo_seq_dtmf_dup() 3: got second START_DTMF_ind");
+   }
[] T.timeout {
-   setverdict(fail, "Received duplicate START_DTMF_ind");
+   setverdict(fail, "Timeout waiting for final START_DTMF_ind");
mtc.stop;
}
}

+   f_call_hangup(cpars, true);
setverdict(pass);
 }

diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index fbb471e..c290d7c 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -1776,6 +1776,8 @@

Change in osmo-ttcn3-hacks[master]: msc: overhaul voice call testing

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15938 )


Change subject: msc: overhaul voice call testing
..

msc: overhaul voice call testing

* Semantic:

We don't really know which side the MSC first creates a CRCX for. Instead of
assuming that the RAN side is always CRCX'd first, simply handle a "first" and
a "second" CRCX, not making any assumptions which is for which side.
Notably, there still are quite a few places assuming which CRCX corresponds to
the RAN/CN side, but the changes are sufficient to still pass the tests when
osmo-msc swaps the CRCX order; sometimes for slightly obscure reasons, for
example because it doesn't matter that the wrong port number is returned during
a subsequent MDCX... Cleaning up the rest is still todo for later.

Remove code dup from call establishing code, particularly for MGCP.

Use f_mo_call_establish() and f_mt_call() where ever possible, to make all of
the call establishing tests handle upcoming changes in osmo-msc's order of
messages, without re-implementing the changes for each test individually.

The X-Osmux parameter was so far expected to appear in the first CRCX received,
assuming that this first CRCX is for the RAN.  Instead, detect whether X-Osmux
is contained in a CRCX, and reply with an Osmux CID if so, regardless of it
being the first or second CRCX.  Count the number of X-Osmux parameters
received in CRCX messages, and compare after call setup to verify X-Osmux
presence.

Since f_mo_call_establish() can't handle RANAP assignment, a few Iu tests that
worked with the older code dup will break by this patch. This is fixed by a
subsequent patch, see I0ead36333ab665147b8d222070ea5cf8afc555ec.

* Details, per patch chunk:

Change ts_BSSMAP_IE_AoIP_TLA4 to a non-value template, so that we can use a
wildcard for the assigned port number from MGCP (depending on RAN or CN CRCX
first, the RAN port number can be one or the other).

Split f_mgcp_find_param_entry() out of f_mgcp_find_param() to be able to act on
an MgcpParameterList without an enclosing MgcpMessage.

In CallParameters, move MGCP handling instructions into a separate record
"CrcxResponse", and have two of them for handling the first and the second
CRCX, replacing mgw_rtp_{ip,port}_{bss,mss} and mgcp_connection_id_{bss,mss}.

In CallParameters, add some flags for early-exiting call establishment with a
particular desired behavior, for specialized tests.

In CallParameters, use common default values and don't repeat them in each and
every call establishing test.

Set cpars.mo_call := {true,false} implicitly when f_{mo,mt}_call_establish()
are invoked.

Remove CRCX comments implying RAN or CN side, instead just talk of the "first"
and the "second" CRCX.

Implement one common f_handle_crcx() function, which is used by
f_mo_call_establish(), f_mt_call_complete(), as_optional_mgcp_crcx(), and
implicitly uses the first/second CRCX handling.

For Assigment, use a wildcard RTP port so that we don't have to assume which
CRCX was for the RAN side.

In f_mo_call_establish(), insert special case conditions to make it enact
errors at specific times, for individual tests. That saves re-implementing the
entire call establishment (code dup).

For error cases, add expectation of a CC Release message in the call
establishment. This should not apply for normal successful operation, but
because interleave does not support conditionals, add flags
got_mncc_setup_compl_ind and got_cc_connect to break the interleave when
establishing is complete, so that the CC Release is skipped.
A CC Release always breaks the interleave, at whatever time it arrives.

Tests adopting f_{mo,mt}_call instead of code dup:
  f_tc_mo_setup_and_nothing()
  f_tc_mo_crcx_ran_timeout()
  f_tc_mo_crcx_ran_reject()
  f_tc_mo_release_timeout()
  f_tc_mo_cc_bssmap_clear()

Change-Id: I8b82476f55a98f7a94d5c4f1cd80eac427b2d20f
---
M library/BSSMAP_Templates.ttcn
M library/MGCP_Templates.ttcn
M msc/BSC_ConnectionHandler.ttcn
M msc/MSC_Tests.ttcn
4 files changed, 294 insertions(+), 345 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/38/15938/1

diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn
index 41755db..b40ec61 100644
--- a/library/BSSMAP_Templates.ttcn
+++ b/library/BSSMAP_Templates.ttcn
@@ -407,15 +407,15 @@
return cic;
 }

-template (value) BSSMAP_IE_AoIP_TransportLayerAddress 
ts_BSSMAP_IE_AoIP_TLA(BSSMAP_FIELD_IPAddress addr,
-   
uint16_t udp_port,
+template BSSMAP_IE_AoIP_TransportLayerAddress 
ts_BSSMAP_IE_AoIP_TLA(BSSMAP_FIELD_IPAddress addr,
+   
template uint16_t udp_port,

integer len) := {
elementIdentifier := '7C'O,

Change in osmo-msc[master]: add msc_log_to_ladder.py

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-msc/+/15944 )


Change subject: add msc_log_to_ladder.py
..

add msc_log_to_ladder.py

Add script that reads in an osmo-msc log output and extracts the interesting
information for displaying a sequence chart of voice call log, in mscgen
format.

I want to visualize how the sequence of messages changes across patches. It is
error prone to do it manually, and re-doing the sequence chart for every patch
(and patch rework) would be prohibitively time consuming.

Change-Id: I2e4d8778f7b83dee558517a9b23450b817ee325d
---
A doc/sequence_charts/msc_log_to_ladder.py
1 file changed, 724 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/44/15944/1

diff --git a/doc/sequence_charts/msc_log_to_ladder.py 
b/doc/sequence_charts/msc_log_to_ladder.py
new file mode 100755
index 000..1ceaeb6
--- /dev/null
+++ b/doc/sequence_charts/msc_log_to_ladder.py
@@ -0,0 +1,724 @@
+#!/usr/bin/env python3
+doc=r'''
+Reading a log, it can be hard to figure out what is the important bit going on.
+This is a tool that reads an osmo-msc log and tries to compose a ladder 
diagram from it automatically.
+'''
+
+import argparse
+import sys
+import re
+import tempfile
+import os
+
+def error(*msg):
+   sys.stderr.write('%s\n' % (''.join(msg)))
+   exit(1)
+
+def quote(msg, quote='"'):
+   return '"%s"' % (msg.replace('"', r'\"'))
+
+class Entity:
+   def __init__(self, name, descr=None, attrs={}):
+   self.name = name
+   self.descr = descr
+   self.attrs = attrs
+
+class Arrow:
+   def __init__(self, mo_mt, left, arrow, right, descr=None, attrs={}, 
ran_conn=None, imsi=None, tmsi=None):
+   self.mo_mt = mo_mt
+   self.left = left
+   self.arrow = arrow
+   self.right = right
+   self.descr = descr
+   self.attrs = attrs
+   self.ran_conn = ran_conn
+   self.imsi = imsi
+   self.tmsi = tmsi
+
+   def __repr__(self):
+   return 'Arrow(%s %s %s %s: %s IMSI=%s)' % (self.mo_mt, 
self.left, self.arrow, self.right, self.descr, self.imsi)
+
+class Separator:
+   def __init__(self):
+   self.separator = None
+   self.descr = None
+   self.attrs = {}
+
+class EmptyLine:
+   def __init__(self):
+   self.count = 1
+
+MS = 'ms'
+UE = 'ms' #'ue'
+MS_UE_UNKNOWN = 'ms' #None
+MSC = 'msc'
+MGW = 'mgw'
+SIP = 'sip'
+
+MO = 'mo'
+MT = 'mt'
+MO_MT_UNKNOWN = None
+
+
+class OutputBase:
+   def __init__(self, write_to, start_with_re=None):
+   self._write_to = write_to
+
+   self.start_with_re = None
+   if start_with_re is not None:
+   self.start_with_re = re.compile(start_with_re)
+
+   def head(self):
+   self.writeln('# Generated by msc_log_to_ladder.py')
+
+   def tail(self):
+   pass
+
+   def render(self, diagram):
+   self.head()
+   if diagram.root_attrs:
+   self.root_attrs(diagram.root_attrs)
+   self.entities(diagram.entities)
+
+   started = (self.start_with_re is None)
+
+   for line in diagram.lines:
+   if not started:
+   if hasattr(line, 'descr') and 
self.start_with_re.match(line.descr):
+   started = True
+   else:
+   continue
+   self.add(line)
+   self.tail()
+
+   def entities(self, entities):
+   for entity in entities:
+   self.entity(entity)
+
+   def write(self, line):
+   self._write_to.write(line)
+
+   def writeln(self, line):
+   self.write('%s\n' % line)
+
+   def emptyline(self, emptyline):
+   self.write('\n' * emptyline.count);
+
+   def add(self, thing):
+   func = getattr(self, thing.__class__.__name__.lower())
+   func(thing)
+
+
+class OutputLadder(OutputBase):
+
+   def indent_multiline(self, s):
+   return s.replace('\n', '\n\t')
+
+   def attrs_str(self, attrs, prefix=' '):
+   if not attrs:
+   return ''
+   return '%s{%s}' % (prefix or '', ','.join('%s=%s' % (k,v) for 
k,v in attrs.items()))
+
+   def root_attrs(self, attrs):
+   self.writeln(self.attrs_str(attrs, prefix=None))
+
+   def entity(self, entity):
+   self.writeln('%s = %s%s' % (entity.name, 
self.indent_multiline(entity.descr), self.attrs_str(entity.attrs)))
+
+   def arrow(self, arrow):
+   mo_mt = arrow.mo_mt or MO
+
+   def prepend_mo_mt(name):
+   

Change in osmo-bsc[master]: osmo_bsc_main.c: fix CCCH_CONF computation: use pchan_from_config

2019-11-03 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/15934 )

Change subject: osmo_bsc_main.c: fix CCCH_CONF computation: use 
pchan_from_config
..


Patch Set 2: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15934
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I8f9d7aa27f24b55732a4de933bc834ed930806fd
Gerrit-Change-Number: 15934
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: mqng2 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sun, 03 Nov 2019 23:30:41 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-msc[master]: msc_vlr_test_call.c: add MNCC logging

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-msc/+/15950 )


Change subject: msc_vlr_test_call.c: add MNCC logging
..

msc_vlr_test_call.c: add MNCC logging

Change-Id: I03b25c134553c620d3fa9d23a67ad39414546861
---
M tests/msc_vlr/msc_vlr_test_call.c
M tests/msc_vlr/msc_vlr_test_call.err
2 files changed, 41 insertions(+), 5 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/50/15950/1

diff --git a/tests/msc_vlr/msc_vlr_test_call.c 
b/tests/msc_vlr/msc_vlr_test_call.c
index 392d38d..dfa3141 100644
--- a/tests/msc_vlr/msc_vlr_test_call.c
+++ b/tests/msc_vlr/msc_vlr_test_call.c
@@ -25,11 +25,13 @@

 #include 

-static void mncc_sends_to_cc(uint32_t msg_type, struct gsm_mncc *mncc)
-{
-   mncc->msg_type = msg_type;
-   mncc_tx_to_cc(net, mncc);
-}
+#define mncc_sends_to_cc(MSG_TYPE, MNCC) do { \
+   (MNCC)->msg_type = MSG_TYPE; \
+   log("MSC <-- MNCC: callref 0x%x: %s\n%s", (MNCC)->callref, \
+   get_mncc_name((MNCC)->msg_type), \
+   (MNCC)->sdp); \
+   mncc_tx_to_cc(net, MNCC); \
+   } while(0)

 /*
 static void on_call_release_mncc_sends_to_cc(uint32_t msg_type, struct 
gsm_mncc *mncc)
diff --git a/tests/msc_vlr/msc_vlr_test_call.err 
b/tests/msc_vlr/msc_vlr_test_call.err
index 7f9940b..07e10a5 100644
--- a/tests/msc_vlr/msc_vlr_test_call.err
+++ b/tests/msc_vlr/msc_vlr_test_call.err
@@ -297,6 +297,8 @@
   MSC --> MNCC: callref 0x8001: MNCC_SETUP_IND
 DREF 
msc_a(IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}:
 - rx_from_ms: now used by 1 (cc)
 - MNCC replies with MNCC_RTP_CREATE, causing MGW endpoint CRCX to RAN
+  MSC <-- MNCC: callref 0x8001: MNCC_RTP_CREATE
+
 DMNCC trans(CC:INITIATED 
IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ 
callref-0x8001 tid-8) rx MNCC_RTP_CREATE
 DIUCS 
msc_a(IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}:
 Starting call assignment
 DCC 
call_leg(IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}:
 Allocated
@@ -328,6 +330,8 @@
 DMNCC trans(CC:INITIATED 
IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ 
callref-0x8001 tid-8) tx MNCC_RTP_CREATE
   MSC --> MNCC: callref 0x8001: MNCC_RTP_CREATE
 - MNCC says that's fine
+  MSC <-- MNCC: callref 0x8001: MNCC_CALL_PROC_REQ
+
 DMNCC trans(CC:INITIATED 
IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ 
callref-0x8001 tid-8) rx MNCC_CALL_PROC_REQ
 DCC trans(CC:INITIATED 
IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ 
callref-0x8001 tid-8) stopping pending guard timer
 DCC trans(CC:INITIATED 
IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ 
callref-0x8001 tid-8) starting guard timer with 180 seconds
@@ -341,6 +345,8 @@
 DIUCS 
msc_a(IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}:
 Assignment for this trans already started earlier
 - Total time passed: 1.23 s
 - The other call leg got established (not shown here), MNCC tells us so
+  MSC <-- MNCC: callref 0x8001: MNCC_ALERT_REQ
+
 DMNCC trans(CC:MO_CALL_PROC 
IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ 
callref-0x8001 tid-8) rx MNCC_ALERT_REQ
 DCC trans(CC:MO_CALL_PROC 
IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ 
callref-0x8001 tid-8) stopping pending guard timer
 DCC trans(CC:MO_CALL_PROC 
IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ 
callref-0x8001 tid-8) starting guard timer with 180 seconds
@@ -351,6 +357,8 @@
 - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_ALERTING: 8301
 - DTAP matches expected message
 DMSC 
dummy_msc_i(IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}:
 Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST
+  MSC <-- MNCC: callref 0x8001: MNCC_SETUP_RSP
+
 DMNCC trans(CC:CALL_DELIVERED 
IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ 
callref-0x8001 tid-8) rx MNCC_SETUP_RSP
 DCC trans(CC:CALL_DELIVERED 
IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ 
callref-0x8001 tid-8) stopping pending guard timer
 DCC trans(CC:CALL_DELIVERED 
IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ 
callref-0x8001 tid-8) starting guard timer with 180 seconds
@@ -390,6 +398,8 @@
 DMNCC trans(CC:DISCONNECT_IND 
IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ 
callref-0x8001 tid-8) tx MNCC_DISC_IND
   MSC --> MNCC: callref 0x8001: MNCC_DISC_IND
 DREF 
msc_a(IMSI-90170010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}:
 - 

Change in osmo-bsc[master]: osmo_bsc_main.c: simplify computation of CCCH_CONFIG

2019-11-03 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/15933 )

Change subject: osmo_bsc_main.c: simplify computation of CCCH_CONFIG
..


Patch Set 2: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15933
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I1430500999389e9b30e55ea89a8a5ea5071f7957
Gerrit-Change-Number: 15933
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sun, 03 Nov 2019 23:27:20 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-ttcn3-hacks[master]: msc: add and fix Iu mt call

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15940 )


Change subject: msc: add and fix Iu mt call
..

msc: add and fix Iu mt call

Change-Id: I3ce29f3d9254656dc295674e8cec72a741b7764a
---
M msc/BSC_ConnectionHandler.ttcn
M msc/MSC_Tests.ttcn
M msc/MSC_Tests_Iu.ttcn
3 files changed, 88 insertions(+), 11 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/40/15940/1

diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index b11d24b..63c64bb 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -905,21 +905,89 @@

}
} else {
-   var template TransportLayerAddress rab_tla := ? /* FIXME: 
encode the mgw_rtp_ip/mgw_rtp_port */
-   var template RAB_SetupOrModifyList rab_sml := tr_RAB_SML(rab_id 
:= ?, tla := rab_tla, binding_id := ?);
-
interleave {
[] MGCP.receive(tr_CRCX(cpars.mgcp_ep)) -> value mgcp_cmd {
-   var SDP_Message sdp := valueof(ts_SDP_CRCX_CN(cpars));
-   MGCP.send(ts_CRCX_ACK(mgcp_cmd.line.trans_id, 
cpars.mgw_conn_2.mgcp_connection_id, sdp));
-   /* MSC acknowledges the MNCC_CREATE to the MNCC handler 
*/
-   MNCC.receive(tr_MNCC_RTP_CREATE(cpars.mncc_callref));
+   log("f_mt_call_complete 4.iu");
+   if (not f_handle_crcx(cpars, mgcp_cmd)) {
+   break;
}
-   [] BSSAP.receive(tr_RANAP_RabAssReq(rab_sml)) {
-   //BSSAP.send(ts_RANAP_RabAssResp(rab_sml)); FIXME
}

-   /* FIXME: same MNCC and MGCP as in 2G above */
+   /* MSC acknowledges the MNCC_CREATE to the MNCC handler */
+   [] MNCC.receive(tr_MNCC_RTP_CREATE(cpars.mncc_callref)) {
+   log("f_mt_call_complete 5.iu");
+   }
+
+   [] BSSAP.receive(tr_RANAP_RabAssReq(?)) {
+   log("f_mt_call_complete 6.iu");
+   var RAB_SetupOrModifiedList l := {
+   {
+   {
+   id := 
id_RAB_SetupOrModifiedItem,
+   criticality := ignore,
+   value_ := {
+ rAB_SetupOrModifiedItem := {
+   rAB_ID := int2bit(23, 
8),
+   transportLayerAddress 
:= hex2bit( '350001c0a8021500'H),
+   iuTransportAssociation 
:= {
+   bindingID := 
'040c'O
+   },
+   dl_dataVolumes := omit,
+   iE_Extensions := omit
+   }
+   }
+   }
+   }
+   };
+   BSSAP.send(ts_RANAP_RabAssResp(l));
+
+   
BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_CONNECT(cpars.transaction_id)));
+   }
+
+   [] MNCC.receive(tr_MNCC_SETUP_cnf(cpars.mncc_callref)) {
+   log("f_mt_call_complete 7.iu");
+   MNCC.send(ts_MNCC_RTP_CONNECT(cpars.mncc_callref,
+ /* ip 42.23.11.5 */ 
hex2int('42231105'H),
+ /* port 423 */ 423,
+ /* payload type 3 = GSM 
FR */ 3));
+   }
+
+   /* MDCX setting up the RAN side remote RTP address received 
from Assignment Complete */
+   [] MGCP.receive(tr_MDCX) -> value mgcp_cmd {
+   log("f_mt_call_complete 8.iu");
+   var SDP_Message sdp := 
valueof(ts_SDP(cpars.mgw_conn_2.mgw_rtp_ip, cpars.mgw_conn_2.mgw_rtp_ip,
+   
hex2str(cpars.mgcp_call_id), "42",
+   
cpars.mgw_conn_2.mgw_rtp_port,
+   { 
int2str(cpars.rtp_payload_type) },
+   { 
valueof(ts_SDP_rtpmap(cpars.rtp_payload_type,
+   

Change in osmo-bsc[master]: VTY: also print the active phan config in ts_dump_vty()

2019-11-03 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/15931 )

Change subject: VTY: also print the active phan config in ts_dump_vty()
..


Patch Set 1: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15931
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I45c93a737ad82a2525f941e89cd19d4cedbf6f02
Gerrit-Change-Number: 15931
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sun, 03 Nov 2019 23:22:55 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in libosmocore[master]: gsm_04_08.h: Introduce API osmo_gsm48_rfpowercap2powerclass()

2019-11-03 Thread pespin
pespin has submitted this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/15923 )

Change subject: gsm_04_08.h: Introduce API osmo_gsm48_rfpowercap2powerclass()
..

gsm_04_08.h: Introduce API osmo_gsm48_rfpowercap2powerclass()

Related: OS#4244
Change-Id: I32e9cc1c2397b44f0d48db2acdf782a821365b63
---
M TODO-RELEASE
M include/osmocom/gsm/protocol/gsm_04_08.h
M src/gsm/gsm48.c
M src/gsm/libosmogsm.map
M tests/gsm0408/gsm0408_test.c
5 files changed, 49 insertions(+), 1 deletion(-)

Approvals:
  laforge: Looks good to me, approved
  neels: Looks good to me, but someone else must approve
  fixeria: Looks good to me, but someone else must approve
  Jenkins Builder: Verified



diff --git a/TODO-RELEASE b/TODO-RELEASE
index 547b5a9..9af92c1 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -9,3 +9,4 @@
 #library   whatdescription / commit summary line
 core   osmo_tdef_get() change val_if_not_present arg from 
unsigned long to long to allow passing -1
 core   struct osmo_tdeffields min_val,max_val added, ABI break 
(arrays of structs used in programs)
+gsmAPI added   osmo_gsm48_rfpowercap2powerclass()
diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h 
b/include/osmocom/gsm/protocol/gsm_04_08.h
index 6a6c7f3..b5317d5 100644
--- a/include/osmocom/gsm/protocol/gsm_04_08.h
+++ b/include/osmocom/gsm/protocol/gsm_04_08.h
@@ -10,6 +10,7 @@
 #include 

 struct gsm_lchan;
+enum gsm_band;

 /* Chapter 10.5.1.5 */
 struct gsm48_classmark1 {
@@ -73,7 +74,7 @@
 char *osmo_gsm48_classmark_a5_name_buf(char *buf, size_t buf_len, const struct 
osmo_gsm48_classmark *cm);
 char *osmo_gsm48_classmark_a5_name_c(const void *ctx, const struct 
osmo_gsm48_classmark *cm);
 void osmo_gsm48_classmark_update(struct osmo_gsm48_classmark *dst, const 
struct osmo_gsm48_classmark *src);
-
+int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap);
 /* Chapter 10.5.2.1b.3 */
 #if OSMO_IS_LITTLE_ENDIAN == 1
 struct gsm48_range_1024 {
diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c
index 2d6deb5..17b0829 100644
--- a/src/gsm/gsm48.c
+++ b/src/gsm/gsm48.c
@@ -1390,4 +1390,25 @@
}
 }

+/*! Decode power class from Classmark1/2 RF power capability field.
+ * \param[in] rf_power_cap  The RF power capability field (3 bits).
+ * \param[in] band  the band of the arfcn from where the classmark was received
+ * \return the MS power class on success, negative on error.
+ */
+int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t 
rf_power_cap)
+{
+   switch (band)  {
+   case GSM_BAND_1800:
+   case GSM_BAND_1900:
+   if (rf_power_cap > 2)
+   return -1;
+   return rf_power_cap + 1;
+   default:
+   if (rf_power_cap > 4)
+   return -1;
+   return rf_power_cap + 1;
+   }
+}
+
+
 /*! @} */
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index 724fe5b..a0e3b32 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -646,6 +646,7 @@
 osmo_gsm48_classmark_a5_name_buf;
 osmo_gsm48_classmark_a5_name_c;
 osmo_gsm48_classmark_update;
+osmo_gsm48_rfpowercap2powerclass;

 cbsp_msg_type_names;
 cbsp_iei_names;
diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c
index db1d45a..2488024 100644
--- a/tests/gsm0408/gsm0408_test.c
+++ b/tests/gsm0408/gsm0408_test.c
@@ -26,6 +26,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -1132,6 +1133,28 @@
VERIFY(f0, ==, 1);
 }

+static void test_power_ctrl()
+{
+   int8_t rc8;
+
+   rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_850, 0x00);
+   VERIFY(rc8, ==, 1);
+   rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_900, 0x02);
+   VERIFY(rc8, ==, 3);
+   rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_1800, 0x02);
+   VERIFY(rc8, ==, 3);
+   rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_1900, 0x02);
+   VERIFY(rc8, ==, 3);
+   rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_1900, 0x04);
+   VERIFY(rc8, <, 0);
+   rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_900, 0x04);
+   VERIFY(rc8, ==, 5);
+   rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_900, 0x05);
+   VERIFY(rc8, <, 0);
+   rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_900, 0xf2);
+   VERIFY(rc8, <, 0);
+}
+
 int main(int argc, char **argv)
 {
test_bearer_cap();
@@ -1147,6 +1170,7 @@
test_arfcn_filter();
test_print_encoding();
test_range_encoding();
+   test_power_ctrl();

return EXIT_SUCCESS;
 }

--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15923
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I32e9cc1c2397b44f0d48db2acdf782a821365b63

Change in osmo-msc[master]: add full SDP codec information to the MNCC socket

2019-11-03 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-msc/+/15953 )


Change subject: add full SDP codec information to the MNCC socket
..

add full SDP codec information to the MNCC socket

This way osmo-msc can benefit from the complete codec information received via
SIP, which was so far terminated at osmo-sip-connector. osmo-sip-connector
could/should have translated the received SDP to MNCC bearer_cap, but this was
never implemented properly. Since osmo-msc already handles SDP towards the MGW,
it makes most sense to pass SDP to osmo-msc transparently.

To be able to send a valid RTP IP:port in the SDP upon the first MNCC_SETUP_IND
going out, move the CN side CRCX to the very start of establishing a voice
call. As a result, first create MGW conns for both RAN and CN before starting.

The voice_call_full.msc chart shows the change in message sequence for MO and
MT voice calls.

Implement cc_sdp.c, which accumulates codec information from various sources
(MS, BSS, Assignment, remote call leg) and provides filtering to get the
available set of codecs at any point in time.

Implement codec_sdp_cc_t9n.c, to translate between SDP and the various
libosmo-mgcp-client, CC and BSSMAP representations of codecs:
- Speech Version,
- Permitted Speech,
- Speech Codec Type,
- default Payload Type numbers,
- enum mgcp_codecs,
- FR/HR compatibility
- SDP audio codec names,
- various AMR configurations.
A codec_map lists these relations in one large data record.
Various functions provide conversions by traversing this map.

Add trans->cc.mnccc_release_sent: so far, avoiding to send an MNCC release
during trans_free() was done by setting the callref = 0. But that also skips CC
Release. On codec mismatch, we send a specific MNCC error code but still want a
normal CC Release: hence send the MNCC message, set mnccc_release_sent = true
and do normal CC Release in trans_free().
(A better way to do this would be to adopt the mncc_call FSM from inter-MSC
handover also for local voice calls, but that is out of scope for now. I want
to try that soon, as time permits.)

Change-Id: I8c3b2de53ffae4ec3a66b9dabf308c290a2c999f
---
M doc/sequence_charts/voice_call_full.msc
M include/osmocom/msc/Makefile.am
M include/osmocom/msc/call_leg.h
A include/osmocom/msc/cc_sdp.h
A include/osmocom/msc/codec_sdp_cc_t9n.h
M include/osmocom/msc/gsm_04_08.h
M include/osmocom/msc/msc_a.h
M include/osmocom/msc/msc_ho.h
M include/osmocom/msc/rtp_stream.h
M include/osmocom/msc/sdp_msg.h
M include/osmocom/msc/transaction.h
M src/libmsc/Makefile.am
M src/libmsc/call_leg.c
A src/libmsc/cc_sdp.c
A src/libmsc/codec_sdp_cc_t9n.c
M src/libmsc/gsm_04_08_cc.c
M src/libmsc/mncc_call.c
M src/libmsc/msc_a.c
M src/libmsc/msc_ho.c
M src/libmsc/msc_t.c
M src/libmsc/rtp_stream.c
M src/libmsc/sdp_msg.c
M tests/msc_vlr/msc_vlr_test_call.c
M tests/msc_vlr/msc_vlr_test_call.err
M tests/msc_vlr/msc_vlr_tests.c
M tests/msc_vlr/msc_vlr_tests.h
M tests/sdp_msg/sdp_msg_test.ok
27 files changed, 5,485 insertions(+), 463 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/53/15953/1


--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15953
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I8c3b2de53ffae4ec3a66b9dabf308c290a2c999f
Gerrit-Change-Number: 15953
Gerrit-PatchSet: 1
Gerrit-Owner: neels 
Gerrit-MessageType: newchange


Change in osmo-msc[master]: fsm: use deferred deallocation

2019-11-03 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-msc/+/15850 )

Change subject: fsm: use deferred deallocation
..


Patch Set 2: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15850
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I08c03946605aa12e0a5ce8b3c773704ef5327a7a
Gerrit-Change-Number: 15850
Gerrit-PatchSet: 2
Gerrit-Owner: neels 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sun, 03 Nov 2019 23:20:32 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment