aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am44
-rw-r--r--tests/atlocal.in4
-rwxr-xr-x[-rw-r--r--]tests/ctrl_test_runner.py409
-rw-r--r--tests/gbproxy/Makefile.am12
-rw-r--r--tests/gbproxy/gbproxy_test.c242
-rw-r--r--tests/gbproxy/gbproxy_test.ok1002
-rw-r--r--tests/gprs/gprs_test.c9
-rw-r--r--tests/gtphub/Makefile.am6
-rw-r--r--tests/gtphub/gtphub_test.c11
-rw-r--r--tests/oap/Makefile.am36
-rw-r--r--tests/oap/oap_client_test.c270
-rw-r--r--tests/oap/oap_client_test.err35
-rw-r--r--tests/oap/oap_client_test.ok2
-rw-r--r--tests/sgsn/Makefile.am51
-rw-r--r--tests/sgsn/sgsn_test.c933
-rw-r--r--tests/sgsn/sgsn_test.ok19
-rw-r--r--tests/slhc/Makefile.am2
-rw-r--r--tests/slhc/slhc_test.c11
-rw-r--r--tests/sndcp_xid/Makefile.am3
-rw-r--r--tests/sndcp_xid/sndcp_xid_test.c21
-rw-r--r--tests/test_nodes.vty63
-rw-r--r--tests/testsuite.at8
-rw-r--r--tests/v42bis/Makefile.am2
-rw-r--r--tests/v42bis/v42bis_test.c13
-rwxr-xr-x[-rw-r--r--]tests/vty_test_runner.py167
-rw-r--r--tests/xid/Makefile.am3
-rw-r--r--tests/xid/xid_test.c11
27 files changed, 1153 insertions, 2236 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 10bb916ff..a23d9317a 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,24 +1,13 @@
SUBDIRS = \
gprs \
gbproxy \
- $(NULL)
-
-if HAVE_LIBGTP
-SUBDIRS += \
gtphub \
- $(NULL)
-
-if HAVE_LIBCARES
-SUBDIRS += \
sgsn \
- oap \
xid \
sndcp_xid \
slhc \
v42bis \
$(NULL)
-endif
-endif
# The `:;' works around a Bash 3.2 bug when the output is not writeable.
$(srcdir)/package.m4: $(top_srcdir)/configure.ac
@@ -44,6 +33,7 @@ EXTRA_DIST = \
$(TESTSUITE) \
vty_test_runner.py \
ctrl_test_runner.py \
+ test_nodes.vty \
$(NULL)
TESTSUITE = $(srcdir)/testsuite
@@ -54,16 +44,38 @@ DISTCLEANFILES = \
if ENABLE_EXT_TESTS
python-tests: $(BUILT_SOURCES)
- osmotestvty.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v
- osmotestconfig.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v
- $(PYTHON) $(srcdir)/vty_test_runner.py -w $(abs_top_builddir) -v
- $(PYTHON) $(srcdir)/ctrl_test_runner.py -w $(abs_top_builddir) -v
- rm -f $(top_builddir)/sms.db $(top_builddir)/gsn_restart $(top_builddir)/gtphub_restart_count
+ $(MAKE) vty-test
+ $(MAKE) ctrl-python-test
else
python-tests: $(BUILT_SOURCES)
echo "Not running python-based tests (determined at configure-time)"
endif
+vty-python-test: $(BUILT_SOURCES)
+ osmotestvty.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v
+ osmotestconfig.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v
+ $(srcdir)/vty_test_runner.py -w $(abs_top_builddir) -v
+ rm -f $(top_builddir)/sms.db $(top_builddir)/gsn_restart $(top_builddir)/gtphub_restart_count
+
+# To update the VTY script from current application behavior,
+# pass -u to vty_script_runner.py by doing:
+# make vty-transcript-test U=-u
+vty-transcript-test:
+ osmo_verify_transcript_vty.py -v \
+ -n OsmoSGSN -p 4245 \
+ -r "$(top_builddir)/src/sgsn/osmo-sgsn -c $(top_srcdir)/doc/examples/osmo-sgsn/osmo-sgsn.cfg" \
+ $(U) $${T:-$(srcdir)/*.vty}
+ rm -f $(builddir)/sms.db $(builddir)/gsn_restart
+
+# don't run multiple tests concurrently so that the ports don't conflict
+vty-test:
+ $(MAKE) vty-python-test
+ $(MAKE) vty-transcript-test
+
+ctrl-python-test: $(BUILT_SOURCES)
+ $(srcdir)/ctrl_test_runner.py -w $(abs_top_builddir) -v
+ rm -f $(top_builddir)/sms.db $(top_builddir)/gsn_restart $(top_builddir)/gtphub_restart_count
+
check-local: atconfig $(TESTSUITE)
$(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS)
$(MAKE) $(AM_MAKEFLAGS) python-tests
diff --git a/tests/atlocal.in b/tests/atlocal.in
index 362bfa9df..c85448765 100644
--- a/tests/atlocal.in
+++ b/tests/atlocal.in
@@ -1,7 +1,3 @@
-enable_nat_test='@osmo_ac_build_nat@'
-enable_smpp_test='@osmo_ac_build_smpp@'
-enable_bsc_test='@osmo_ac_build_bsc@'
-enable_mgcp_transcoding_test='@osmo_ac_mgcp_transcoding@'
enable_sgsn_test='@found_libgtp_and_libcares@'
enable_oap_test='@found_libgtp_and_libcares@'
enable_gtphub_test='@found_libgtp_and_libcares@'
diff --git a/tests/ctrl_test_runner.py b/tests/ctrl_test_runner.py
index 2e59e13d2..69b247819 100644..100755
--- a/tests/ctrl_test_runner.py
+++ b/tests/ctrl_test_runner.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# (C) 2013 by Jacob Erlbeck <jerlbeck@sysmocom.de>
# (C) 2014 by Holger Hans Peter Freyther
@@ -29,11 +29,7 @@ import struct
import osmopy.obscvty as obscvty
import osmopy.osmoutil as osmoutil
-
-# add $top_srcdir/contrib to find ipa.py
-sys.path.append(os.path.join(sys.path[0], '..', 'contrib'))
-
-from ipa import Ctrl, IPA
+from osmopy.osmo_ipa import Ctrl, IPA
# to be able to find $top_srcdir/doc/...
confpath = os.path.join(sys.path[0], '..')
@@ -57,8 +53,8 @@ class TestCtrlBase(unittest.TestCase):
try:
self.proc = osmoutil.popen_devnull(osmo_ctrl_cmd)
except OSError:
- print >> sys.stderr, "Current directory: %s" % os.getcwd()
- print >> sys.stderr, "Consider setting -b"
+ print("Current directory: %s" % os.getcwd(), file=sys.stderr)
+ print("Consider setting -b", file=sys.stderr)
time.sleep(2)
appstring = self.ctrl_app()[2]
@@ -76,7 +72,7 @@ class TestCtrlBase(unittest.TestCase):
def connect(self, host, port):
if verbose:
- print "Connecting to host %s:%i" % (host, port)
+ print("Connecting to host %s:%i" % (host, port))
retries = 30
while True:
@@ -96,7 +92,7 @@ class TestCtrlBase(unittest.TestCase):
def send(self, data):
if verbose:
- print "Sending \"%s\"" %(data)
+ print("Sending \"%s\"" %(data))
data = Ctrl().add_header(data)
return self.sock.send(data) == len(data)
@@ -125,9 +121,9 @@ class TestCtrlBase(unittest.TestCase):
data = self.sock.recv(4096)
while (len(data)>0):
(head, data) = IPA().split_combined(data)
- answer = Ctrl().rem_header(head)
+ answer = Ctrl().rem_header(head).decode()
if verbose:
- print "Got message:", answer
+ print("Got message:", answer)
(mtype, id, msg) = answer.split(None, 2)
id = int(id)
rsp = {'mtype': mtype, 'id': id}
@@ -143,396 +139,27 @@ class TestCtrlBase(unittest.TestCase):
responses[id] = rsp
if verbose:
- print "Decoded replies: ", responses
+ print("Decoded replies: ", responses)
return responses
-
-class TestCtrlBSC(TestCtrlBase):
-
- def tearDown(self):
- TestCtrlBase.tearDown(self)
- os.unlink("tmp_dummy_sock")
-
- def ctrl_command(self):
- return ["./src/osmo-bsc/osmo-bsc", "-r", "tmp_dummy_sock", "-c",
- "doc/examples/osmo-bsc/osmo-bsc.cfg"]
-
- def ctrl_app(self):
- return (4249, "./src/osmo-bsc/osmo-bsc", "OsmoBSC", "bsc")
-
- def testCtrlErrs(self):
- r = self.do_get('invalid')
- self.assertEquals(r['mtype'], 'ERROR')
- self.assertEquals(r['error'], 'Command not found')
-
- r = self.do_set('rf_locked', '999')
- self.assertEquals(r['mtype'], 'ERROR')
- self.assertEquals(r['error'], 'Value failed verification.')
-
- r = self.do_get('bts')
- self.assertEquals(r['mtype'], 'ERROR')
- self.assertEquals(r['error'], 'Error while parsing the index.')
-
- r = self.do_get('bts.999')
- self.assertEquals(r['mtype'], 'ERROR')
- self.assertEquals(r['error'], 'Error while resolving object')
-
- def testBtsLac(self):
- r = self.do_get('bts.0.location-area-code')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'bts.0.location-area-code')
- self.assertEquals(r['value'], '1')
-
- r = self.do_set('bts.0.location-area-code', '23')
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'bts.0.location-area-code')
- self.assertEquals(r['value'], '23')
-
- r = self.do_get('bts.0.location-area-code')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'bts.0.location-area-code')
- self.assertEquals(r['value'], '23')
-
- r = self.do_set('bts.0.location-area-code', '-1')
- self.assertEquals(r['mtype'], 'ERROR')
- self.assertEquals(r['error'], 'Input not within the range')
-
- def testBtsCi(self):
- r = self.do_get('bts.0.cell-identity')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'bts.0.cell-identity')
- self.assertEquals(r['value'], '0')
-
- r = self.do_set('bts.0.cell-identity', '23')
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'bts.0.cell-identity')
- self.assertEquals(r['value'], '23')
-
- r = self.do_get('bts.0.cell-identity')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'bts.0.cell-identity')
- self.assertEquals(r['value'], '23')
-
- r = self.do_set('bts.0.cell-identity', '-1')
- self.assertEquals(r['mtype'], 'ERROR')
- self.assertEquals(r['error'], 'Input not within the range')
-
- def testBtsGenerateSystemInformation(self):
- r = self.do_get('bts.0.send-new-system-informations')
- self.assertEquals(r['mtype'], 'ERROR')
- self.assertEquals(r['error'], 'Write Only attribute')
-
- # No RSL links so it will fail
- r = self.do_set('bts.0.send-new-system-informations', '1')
- self.assertEquals(r['mtype'], 'ERROR')
- self.assertEquals(r['error'], 'Failed to generate SI')
-
- def testBtsChannelLoad(self):
- r = self.do_set('bts.0.channel-load', '1')
- self.assertEquals(r['mtype'], 'ERROR')
- self.assertEquals(r['error'], 'Read Only attribute')
-
- # No RSL link so everything is 0
- r = self.do_get('bts.0.channel-load')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['value'],
- 'CCCH+SDCCH4,0,0 TCH/F,0,0 TCH/H,0,0 SDCCH8,0,0'
- + ' TCH/F_PDCH,0,0 CCCH+SDCCH4+CBCH,0,0'
- + ' SDCCH8+CBCH,0,0 TCH/F_TCH/H_PDCH,0,0')
-
- def testBtsOmlConnectionState(self):
- """Check OML state. It will not be connected"""
- r = self.do_set('bts.0.oml-connection-state', '1')
- self.assertEquals(r['mtype'], 'ERROR')
- self.assertEquals(r['error'], 'Read Only attribute')
-
- # No RSL link so everything is 0
- r = self.do_get('bts.0.oml-connection-state')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['value'], 'disconnected')
-
- def testTrxPowerRed(self):
- r = self.do_get('bts.0.trx.0.max-power-reduction')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'bts.0.trx.0.max-power-reduction')
- self.assertEquals(r['value'], '20')
-
- r = self.do_set('bts.0.trx.0.max-power-reduction', '22')
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'bts.0.trx.0.max-power-reduction')
- self.assertEquals(r['value'], '22')
-
- r = self.do_get('bts.0.trx.0.max-power-reduction')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'bts.0.trx.0.max-power-reduction')
- self.assertEquals(r['value'], '22')
-
- r = self.do_set('bts.0.trx.0.max-power-reduction', '1')
- self.assertEquals(r['mtype'], 'ERROR')
- self.assertEquals(r['error'], 'Value must be even')
-
- def testTrxArfcn(self):
- r = self.do_get('bts.0.trx.0.arfcn')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'bts.0.trx.0.arfcn')
- self.assertEquals(r['value'], '871')
-
- r = self.do_set('bts.0.trx.0.arfcn', '873')
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'bts.0.trx.0.arfcn')
- self.assertEquals(r['value'], '873')
-
- r = self.do_get('bts.0.trx.0.arfcn')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'bts.0.trx.0.arfcn')
- self.assertEquals(r['value'], '873')
-
- r = self.do_set('bts.0.trx.0.arfcn', '2000')
- self.assertEquals(r['mtype'], 'ERROR')
- self.assertEquals(r['error'], 'Input not within the range')
-
- def testRfLock(self):
- r = self.do_get('bts.0.rf_state')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'bts.0.rf_state')
- self.assertEquals(r['value'], 'inoperational,unlocked,on')
-
- r = self.do_set('rf_locked', '1')
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'rf_locked')
- self.assertEquals(r['value'], '1')
-
- time.sleep(1.5)
-
- r = self.do_get('bts.0.rf_state')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'bts.0.rf_state')
- self.assertEquals(r['value'], 'inoperational,locked,off')
-
- r = self.do_get('rf_locked')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'rf_locked')
- self.assertEquals(r['value'], 'state=off,policy=off')
-
- r = self.do_set('rf_locked', '0')
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'rf_locked')
- self.assertEquals(r['value'], '0')
-
- time.sleep(1.5)
-
- r = self.do_get('bts.0.rf_state')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'bts.0.rf_state')
- self.assertEquals(r['value'], 'inoperational,unlocked,on')
-
- r = self.do_get('rf_locked')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'rf_locked')
- self.assertEquals(r['value'], 'state=off,policy=on')
-
- def testTimezone(self):
- r = self.do_get('timezone')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'timezone')
- self.assertEquals(r['value'], 'off')
-
- r = self.do_set('timezone', '-2,15,2')
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'timezone')
- self.assertEquals(r['value'], '-2,15,2')
-
- r = self.do_get('timezone')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'timezone')
- self.assertEquals(r['value'], '-2,15,2')
-
- # Test invalid input
- r = self.do_set('timezone', '-2,15,2,5,6,7')
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'timezone')
- self.assertEquals(r['value'], '-2,15,2')
-
- r = self.do_set('timezone', '-2,15')
- self.assertEquals(r['mtype'], 'ERROR')
- r = self.do_set('timezone', '-2')
- self.assertEquals(r['mtype'], 'ERROR')
- r = self.do_set('timezone', '1')
-
- r = self.do_set('timezone', 'off')
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'timezone')
- self.assertEquals(r['value'], 'off')
-
- r = self.do_get('timezone')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'timezone')
- self.assertEquals(r['value'], 'off')
-
- def testMcc(self):
- r = self.do_set('mcc', '23')
- r = self.do_get('mcc')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'mcc')
- self.assertEquals(r['value'], '23')
-
- r = self.do_set('mcc', '023')
- r = self.do_get('mcc')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'mcc')
- self.assertEquals(r['value'], '23')
-
- def testMnc(self):
- r = self.do_set('mnc', '9')
- r = self.do_get('mnc')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'mnc')
- self.assertEquals(r['value'], '9')
-
- r = self.do_set('mnc', '09')
- r = self.do_get('mnc')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'mnc')
- self.assertEquals(r['value'], '9')
-
-
- def testMccMncApply(self):
- # Test some invalid input
- r = self.do_set('mcc-mnc-apply', 'WRONG')
- self.assertEquals(r['mtype'], 'ERROR')
-
- r = self.do_set('mcc-mnc-apply', '1,')
- self.assertEquals(r['mtype'], 'ERROR')
-
- r = self.do_set('mcc-mnc-apply', '200,3')
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'mcc-mnc-apply')
- self.assertEquals(r['value'], 'Tried to drop the BTS')
-
- # Set it again
- r = self.do_set('mcc-mnc-apply', '200,3')
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'mcc-mnc-apply')
- self.assertEquals(r['value'], 'Nothing changed')
-
- # Change it
- r = self.do_set('mcc-mnc-apply', '200,4')
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'mcc-mnc-apply')
- self.assertEquals(r['value'], 'Tried to drop the BTS')
-
- # Change it
- r = self.do_set('mcc-mnc-apply', '201,4')
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'mcc-mnc-apply')
- self.assertEquals(r['value'], 'Tried to drop the BTS')
-
- # Verify
- r = self.do_get('mnc')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'mnc')
- self.assertEquals(r['value'], '4')
-
- r = self.do_get('mcc')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'mcc')
- self.assertEquals(r['value'], '201')
-
- # Change it
- r = self.do_set('mcc-mnc-apply', '202,03')
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'mcc-mnc-apply')
- self.assertEquals(r['value'], 'Tried to drop the BTS')
-
- r = self.do_get('mnc')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'mnc')
- self.assertEquals(r['value'], '3')
-
- r = self.do_get('mcc')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'mcc')
- self.assertEquals(r['value'], '202')
-
-class TestCtrlNAT(TestCtrlBase):
-
- def ctrl_command(self):
- return ["./src/osmo-bsc_nat/osmo-bsc_nat", "-c",
- "doc/examples/osmo-bsc_nat/osmo-bsc_nat.cfg"]
-
- def ctrl_app(self):
- return (4250, "./src/osmo-bsc_nat/osmo-bsc_nat", "OsmoNAT", "nat")
-
- def testAccessList(self):
- r = self.do_get('net.0.bsc_cfg.0.access-list-name')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'net')
- self.assertEquals(r['value'], None)
-
- r = self.do_set('net.0.bsc_cfg.0.access-list-name', 'bla')
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'net')
- self.assertEquals(r['value'], 'bla')
-
- r = self.do_get('net.0.bsc_cfg.0.access-list-name')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'net')
- self.assertEquals(r['value'], 'bla')
-
- r = self.do_set('net.0.bsc_cfg.0.no-access-list-name', '1')
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'net')
- self.assertEquals(r['value'], None)
-
- r = self.do_get('net.0.bsc_cfg.0.access-list-name')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'net')
- self.assertEquals(r['value'], None)
-
- def testAccessListManagement(self):
- r = self.do_set("net.0.add.allow.access-list.404", "abc")
- self.assertEquals(r['mtype'], 'ERROR')
-
- r = self.do_set("net.0.add.allow.access-list.bla", "^234$")
- self.assertEquals(r['mtype'], 'SET_REPLY')
- self.assertEquals(r['var'], 'net.0.add.allow.access-list.bla')
- self.assertEquals(r['value'], 'IMSI allow added to access list')
-
- # TODO.. find a way to actually see if this rule has been
- # added. e.g. by implementing a get for the list.
-
class TestCtrlSGSN(TestCtrlBase):
def ctrl_command(self):
- return ["./src/gprs/osmo-sgsn", "-c",
+ return ["./src/sgsn/osmo-sgsn", "-c",
"doc/examples/osmo-sgsn/osmo-sgsn.cfg"]
def ctrl_app(self):
- return (4251, "./src/gprs/osmo-sgsn", "OsmoSGSN", "sgsn")
+ return (4251, "./src/sgsn/osmo-sgsn", "OsmoSGSN", "sgsn")
def testListSubscribers(self):
# TODO. Add command to mark a subscriber as active
r = self.do_get('subscriber-list-active-v1')
- self.assertEquals(r['mtype'], 'GET_REPLY')
- self.assertEquals(r['var'], 'subscriber-list-active-v1')
- self.assertEquals(r['value'], None)
-
-def add_bsc_test(suite, workdir):
- if not os.path.isfile(os.path.join(workdir, "src/osmo-bsc/osmo-bsc")):
- print("Skipping the BSC test")
- return
- test = unittest.TestLoader().loadTestsFromTestCase(TestCtrlBSC)
- suite.addTest(test)
-
-def add_nat_test(suite, workdir):
- if not os.path.isfile(os.path.join(workdir, "src/osmo-bsc_nat/osmo-bsc_nat")):
- print("Skipping the NAT test")
- return
- test = unittest.TestLoader().loadTestsFromTestCase(TestCtrlNAT)
- suite.addTest(test)
+ self.assertEqual(r['mtype'], 'GET_REPLY')
+ self.assertEqual(r['var'], 'subscriber-list-active-v1')
+ self.assertEqual(r['value'], None)
def add_sgsn_test(suite, workdir):
- if not os.path.isfile(os.path.join(workdir, "src/gprs/osmo-sgsn")):
+ if not os.path.isfile(os.path.join(workdir, "src/sgsn/osmo-sgsn")):
print("Skipping the SGSN test")
return
test = unittest.TestLoader().loadTestsFromTestCase(TestCtrlSGSN)
@@ -564,12 +191,10 @@ if __name__ == '__main__':
if args.p:
confpath = args.p
- print "confpath %s, workdir %s" % (confpath, workdir)
+ print("confpath %s, workdir %s" % (confpath, workdir))
os.chdir(workdir)
- print "Running tests for specific control commands"
+ print("Running tests for specific control commands")
suite = unittest.TestSuite()
- add_bsc_test(suite, workdir)
- add_nat_test(suite, workdir)
add_sgsn_test(suite, workdir)
res = unittest.TextTestRunner(verbosity=verbose_level).run(suite)
sys.exit(len(res.errors) + len(res.failures))
diff --git a/tests/gbproxy/Makefile.am b/tests/gbproxy/Makefile.am
index 3291839b6..b9585acc8 100644
--- a/tests/gbproxy/Makefile.am
+++ b/tests/gbproxy/Makefile.am
@@ -28,14 +28,14 @@ gbproxy_test_SOURCES = \
$(NULL)
gbproxy_test_LDFLAGS = \
- -Wl,--wrap=RAND_bytes \
+ -Wl,--wrap=osmo_get_rand_id \
$(NULL)
gbproxy_test_LDADD = \
- $(top_builddir)/src/gprs/gb_proxy.o \
- $(top_builddir)/src/gprs/gb_proxy_patch.o \
- $(top_builddir)/src/gprs/gb_proxy_peer.o \
- $(top_builddir)/src/gprs/gb_proxy_tlli.o \
+ $(top_builddir)/src/gbproxy/gb_proxy.o \
+ $(top_builddir)/src/gbproxy/gb_proxy_patch.o \
+ $(top_builddir)/src/gbproxy/gb_proxy_peer.o \
+ $(top_builddir)/src/gbproxy/gb_proxy_tlli.o \
$(top_builddir)/src/gprs/gprs_gb_parse.o \
$(top_builddir)/src/gprs/gprs_llc_parse.o \
$(top_builddir)/src/gprs/crc24.o \
@@ -46,6 +46,6 @@ gbproxy_test_LDADD = \
$(LIBOSMOVTY_LIBS) \
$(LIBOSMOABIS_LIBS) \
$(LIBRARY_DL) \
- $(LIBCRYPTO_LIBS) \
+ $(LIBRARY_DLSYM) \
-lrt \
$(NULL)
diff --git a/tests/gbproxy/gbproxy_test.c b/tests/gbproxy/gbproxy_test.c
index 9672dcba6..f5c730db9 100644
--- a/tests/gbproxy/gbproxy_test.c
+++ b/tests/gbproxy/gbproxy_test.c
@@ -31,13 +31,11 @@
#include <osmocom/gprs/gprs_ns.h>
#include <osmocom/gprs/gprs_bssgp.h>
-#include <openbsc/gb_proxy.h>
-#include <openbsc/gprs_utils.h>
-#include <openbsc/gprs_llc.h>
-#include <openbsc/gprs_gb_parse.h>
-#include <openbsc/debug.h>
-
-#include <openssl/rand.h>
+#include <osmocom/sgsn/gb_proxy.h>
+#include <osmocom/sgsn/gprs_utils.h>
+#include <osmocom/sgsn/gprs_llc.h>
+#include <osmocom/sgsn/gprs_gb_parse.h>
+#include <osmocom/sgsn/debug.h>
#define REMOTE_BSS_ADDR 0x01020304
#define REMOTE_SGSN_ADDR 0x05060708
@@ -49,30 +47,29 @@
#define MATCH_ANY (-1)
-void *tall_bsc_ctx;
+void *tall_sgsn_ctx = NULL;
struct gbproxy_config gbcfg = {0};
struct llist_head *received_messages = NULL;
-/* override, requires '-Wl,--wrap=RAND_bytes' */
-int __real_RAND_bytes(unsigned char *buf, int num);
-int mock_RAND_bytes(unsigned char *buf, int num);
-int (*RAND_bytes_cb)(unsigned char *, int) =
- &mock_RAND_bytes;
+/* override, requires '-Wl,--wrap=osmo_get_rand_id' */
+int __real_osmo_get_rand_id(uint8_t *data, size_t len);
+int mock_osmo_get_rand_id(uint8_t *data, size_t len);
+int (*osmo_get_rand_id_cb)(uint8_t *, size_t) =
+ &mock_osmo_get_rand_id;
-int __wrap_RAND_bytes(unsigned char *buf, int num)
+int __wrap_osmo_get_rand_id(uint8_t *buf, size_t num)
{
- return (*RAND_bytes_cb)(buf, num);
+ return (*osmo_get_rand_id_cb)(buf, num);
}
static int rand_seq_num = 0;
-int mock_RAND_bytes(unsigned char *buf, int num)
+int mock_osmo_get_rand_id(uint8_t *buf, size_t num)
{
uint32_t val;
OSMO_ASSERT(num == sizeof(val));
- OSMO_ASSERT(__real_RAND_bytes(buf, num) == 1);
val = 0x00dead00 + rand_seq_num;
@@ -134,12 +131,11 @@ static int dump_peers(FILE *stream, int indent, time_t now,
struct gbproxy_patch_state *state = &peer->patch_state;
gsm48_parse_ra(&raid, peer->ra);
- rc = fprintf(stream, "%*s NSEI %u, BVCI %u, %sblocked, "
- "RAI %u-%u-%u-%u\n",
+ rc = fprintf(stream, "%*s NSEI %u, BVCI %u, %sblocked, RAI %s\n",
indent, "",
peer->nsei, peer->bvci,
peer->blocked ? "" : "not ",
- raid.mcc, raid.mnc, raid.lac, raid.rac);
+ osmo_rai_name(&raid));
if (rc < 0)
return rc;
@@ -225,9 +221,9 @@ static int dump_peers(FILE *stream, int indent, time_t now,
const uint8_t *convert_ra(struct gprs_ra_id *raid)
{
- static uint8_t buf[6];
- gsm48_construct_ra(buf, raid);
- return buf;
+ static struct gsm48_ra_id r;
+ gsm48_encode_ra(&r, raid);
+ return (const uint8_t *)&r;
}
/* DTAP - Attach Request */
@@ -585,7 +581,7 @@ static void send_bssgp_ul_unitdata(
OSMO_ASSERT(bssgp_msg_size <= sizeof(msg));
- gsm48_construct_ra(msg + 10, raid);
+ gsm48_encode_ra((struct gsm48_ra_id *)(msg + 10), raid);
msg[1] = (uint8_t)(tlli >> 24);
msg[2] = (uint8_t)(tlli >> 16);
msg[3] = (uint8_t)(tlli >> 8);
@@ -716,7 +712,7 @@ static void send_bssgp_suspend(struct gprs_ns_inst *nsi,
msg[5] = (uint8_t)(tlli >> 8);
msg[6] = (uint8_t)(tlli >> 0);
- gsm48_construct_ra(msg + 9, raid);
+ gsm48_encode_ra((struct gsm48_ra_id *)(msg + 9), raid);
send_ns_unitdata(nsi, "BVC_SUSPEND", src_addr, 0, msg, sizeof(msg));
}
@@ -738,7 +734,7 @@ static void send_bssgp_suspend_ack(struct gprs_ns_inst *nsi,
msg[5] = (uint8_t)(tlli >> 8);
msg[6] = (uint8_t)(tlli >> 0);
- gsm48_construct_ra(msg + 9, raid);
+ gsm48_encode_ra((struct gsm48_ra_id *)(msg + 9), raid);
send_ns_unitdata(nsi, "BVC_SUSPEND_ACK", src_addr, 0, msg, sizeof(msg));
}
@@ -798,7 +794,7 @@ static void send_bssgp_paging(struct gprs_ns_inst *nsi,
if (raid) {
msg[bssgp_msg_size] = BSSGP_IE_ROUTEING_AREA;
msg[bssgp_msg_size+1] = 0x86;
- gsm48_construct_ra(msg + bssgp_msg_size + 2, raid);
+ gsm48_encode_ra((struct gsm48_ra_id *)(msg + bssgp_msg_size + 2), raid);
bssgp_msg_size += 8;
}
@@ -1065,7 +1061,7 @@ int gprs_ns_sendmsg(struct gprs_ns_inst *nsi, struct msgb *msg)
if (received_messages) {
struct msgb *msg_copy;
- msg_copy = gprs_msgb_copy(msg, "received_messages");
+ msg_copy = bssgp_msgb_copy(msg, "received_messages");
llist_add_tail(&msg_copy->list, received_messages);
}
@@ -1306,7 +1302,13 @@ static int gprs_process_message(struct gprs_ns_inst *nsi, const char *text, stru
ret = gprs_ns_rcvmsg(nsi, msg, peer, GPRS_NS_LL_UDP);
- printf("result (%s) = %d\n\n", text, ret);
+ /* gprs_ns_rcvmsg() in old libosmocore returns "number of bytes
+ * transmitted by any response PDU we sent as a result of the
+ * received message", while modern libosmocore simply retunrs '0'
+ * for any successfully received message. Let's make sure any
+ * non-negative responses lead to a reproducible test output
+ * with both old and new libosmocore. */
+ printf("result (%s) = %d\n\n", text, ret < 0 ? ret : 0);
msgb_free(msg);
@@ -1333,7 +1335,7 @@ static void gprs_dump_nsi(struct gprs_ns_inst *nsi)
static void test_gbproxy()
{
- struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, NULL);
+ struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, tall_sgsn_ctx);
struct sockaddr_in bss_peer[4] = {{0},};
struct sockaddr_in sgsn_peer= {0};
@@ -1501,7 +1503,7 @@ static void test_gbproxy()
static void test_gbproxy_ident_changes()
{
- struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, NULL);
+ struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, tall_sgsn_ctx);
struct sockaddr_in bss_peer[1] = {{0},};
struct sockaddr_in sgsn_peer= {0};
uint16_t nsei[2] = {0x1000, 0x2000};
@@ -1633,7 +1635,7 @@ static void test_gbproxy_ident_changes()
static void test_gbproxy_ra_patching()
{
- struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, NULL);
+ struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, tall_sgsn_ctx);
struct sockaddr_in bss_peer[1] = {{0},};
struct sockaddr_in sgsn_peer= {0};
struct gprs_ra_id rai_bss =
@@ -1660,9 +1662,8 @@ static void test_gbproxy_ra_patching()
bssgp_nsi = nsi;
gbcfg.nsi = bssgp_nsi;
gbcfg.nsip_sgsn_nsei = SGSN_NSEI;
- gbcfg.core_mcc = 123;
- gbcfg.core_mnc = 456;
- gbcfg.core_apn = talloc_zero_size(NULL, 100);
+ gbcfg.core_plmn = (struct osmo_plmn_id){ .mcc = 123, .mnc = 456 };
+ gbcfg.core_apn = talloc_zero_size(tall_sgsn_ctx, 100);
gbcfg.core_apn_size = gprs_str_to_apn(gbcfg.core_apn, 100, "foo.bar");
gbcfg.patch_ptmsi = 0;
@@ -1965,6 +1966,9 @@ static void test_gbproxy_ra_patching()
OSMO_ASSERT(!expect_msg());
received_messages = NULL;
+ talloc_free(gbcfg.core_apn);
+ gbcfg.core_apn = NULL;
+
gbproxy_clear_patch_filter(&gbcfg.matches[GBPROX_MATCH_PATCHING]);
gbprox_reset(&gbcfg);
gprs_ns_destroy(nsi);
@@ -1973,7 +1977,7 @@ static void test_gbproxy_ra_patching()
static void test_gbproxy_ptmsi_assignment()
{
- struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, NULL);
+ struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, tall_sgsn_ctx);
struct sockaddr_in bss_peer[1] = {{0},};
struct sockaddr_in sgsn_peer= {0};
struct gprs_ra_id rai_bss =
@@ -2001,9 +2005,8 @@ static void test_gbproxy_ptmsi_assignment()
bssgp_nsi = nsi;
gbcfg.nsi = bssgp_nsi;
gbcfg.nsip_sgsn_nsei = SGSN_NSEI;
- gbcfg.core_mcc = 0;
- gbcfg.core_mnc = 0;
- gbcfg.core_apn = talloc_zero_size(NULL, 100);
+ gbcfg.core_plmn = (struct osmo_plmn_id){};
+ gbcfg.core_apn = talloc_zero_size(tall_sgsn_ctx, 100);
gbcfg.core_apn_size = gprs_str_to_apn(gbcfg.core_apn, 100, "foo.bar");
gbcfg.patch_ptmsi = 0;
@@ -2178,6 +2181,9 @@ static void test_gbproxy_ptmsi_assignment()
dump_global(stdout, 0);
+ talloc_free(gbcfg.core_apn);
+ gbcfg.core_apn = NULL;
+
gbprox_reset(&gbcfg);
gprs_ns_destroy(nsi);
nsi = NULL;
@@ -2187,7 +2193,7 @@ static void test_gbproxy_ptmsi_assignment()
static void test_gbproxy_ptmsi_patching()
{
- struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, NULL);
+ struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, tall_sgsn_ctx);
struct sockaddr_in bss_peer[1] = {{0},};
struct sockaddr_in sgsn_peer= {0};
struct gprs_ra_id rai_bss =
@@ -2235,9 +2241,8 @@ static void test_gbproxy_ptmsi_patching()
bssgp_nsi = nsi;
gbcfg.nsi = bssgp_nsi;
gbcfg.nsip_sgsn_nsei = SGSN_NSEI;
- gbcfg.core_mcc = 123;
- gbcfg.core_mnc = 456;
- gbcfg.core_apn = talloc_zero_size(NULL, 100);
+ gbcfg.core_plmn = (struct osmo_plmn_id){ .mcc = 123, .mnc = 456 };
+ gbcfg.core_apn = talloc_zero_size(tall_sgsn_ctx, 100);
gbcfg.core_apn_size = gprs_str_to_apn(gbcfg.core_apn, 100, "foo.bar");
gbcfg.patch_ptmsi = 1;
@@ -2515,6 +2520,9 @@ static void test_gbproxy_ptmsi_patching()
dump_global(stdout, 0);
+ talloc_free(gbcfg.core_apn);
+ gbcfg.core_apn = NULL;
+
gbprox_reset(&gbcfg);
gprs_ns_destroy(nsi);
nsi = NULL;
@@ -2524,7 +2532,7 @@ static void test_gbproxy_ptmsi_patching()
static void test_gbproxy_ptmsi_patching_bad_cases()
{
- struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, NULL);
+ struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, tall_sgsn_ctx);
struct sockaddr_in bss_peer[1] = {{0},};
struct sockaddr_in sgsn_peer= {0};
struct gprs_ra_id rai_bss =
@@ -2554,9 +2562,8 @@ static void test_gbproxy_ptmsi_patching_bad_cases()
bssgp_nsi = nsi;
gbcfg.nsi = bssgp_nsi;
gbcfg.nsip_sgsn_nsei = SGSN_NSEI;
- gbcfg.core_mcc = 123;
- gbcfg.core_mnc = 456;
- gbcfg.core_apn = talloc_zero_size(NULL, 100);
+ gbcfg.core_plmn = (struct osmo_plmn_id){ .mcc = 123, .mnc = 456 };
+ gbcfg.core_apn = talloc_zero_size(tall_sgsn_ctx, 100);
gbcfg.core_apn_size = gprs_str_to_apn(gbcfg.core_apn, 100, "foo.bar");
gbcfg.patch_ptmsi = 1;
@@ -2694,6 +2701,9 @@ static void test_gbproxy_ptmsi_patching_bad_cases()
dump_global(stdout, 0);
+ talloc_free(gbcfg.core_apn);
+ gbcfg.core_apn = NULL;
+
gbprox_reset(&gbcfg);
gprs_ns_destroy(nsi);
nsi = NULL;
@@ -2704,7 +2714,7 @@ static void test_gbproxy_ptmsi_patching_bad_cases()
static void test_gbproxy_imsi_acquisition()
{
- struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, NULL);
+ struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, tall_sgsn_ctx);
struct sockaddr_in bss_peer[1] = {{0},};
struct sockaddr_in sgsn_peer= {0};
struct gprs_ra_id rai_bss =
@@ -2738,9 +2748,8 @@ static void test_gbproxy_imsi_acquisition()
bssgp_nsi = nsi;
gbcfg.nsi = bssgp_nsi;
gbcfg.nsip_sgsn_nsei = SGSN_NSEI;
- gbcfg.core_mcc = 123;
- gbcfg.core_mnc = 456;
- gbcfg.core_apn = talloc_zero_size(NULL, 100);
+ gbcfg.core_plmn = (struct osmo_plmn_id){ .mcc = 123, .mnc = 456 };
+ gbcfg.core_apn = talloc_zero_size(tall_sgsn_ctx, 100);
gbcfg.core_apn_size = gprs_str_to_apn(gbcfg.core_apn, 100, "foo.bar");
gbcfg.patch_ptmsi = 1;
gbcfg.acquire_imsi = 1;
@@ -3006,6 +3015,9 @@ static void test_gbproxy_imsi_acquisition()
dump_global(stdout, 0);
+ talloc_free(gbcfg.core_apn);
+ gbcfg.core_apn = NULL;
+
gbprox_reset(&gbcfg);
gprs_ns_destroy(nsi);
nsi = NULL;
@@ -3015,7 +3027,7 @@ static void test_gbproxy_imsi_acquisition()
static void test_gbproxy_secondary_sgsn()
{
- struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, NULL);
+ struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, tall_sgsn_ctx);
struct sockaddr_in bss_peer[1] = {{0},};
struct sockaddr_in sgsn_peer[2]= {{0},};
struct gprs_ra_id rai_bss =
@@ -3064,9 +3076,8 @@ static void test_gbproxy_secondary_sgsn()
bssgp_nsi = nsi;
gbcfg.nsi = bssgp_nsi;
gbcfg.nsip_sgsn_nsei = SGSN_NSEI;
- gbcfg.core_mcc = 123;
- gbcfg.core_mnc = 456;
- gbcfg.core_apn = talloc_zero_size(NULL, 100);
+ gbcfg.core_plmn = (struct osmo_plmn_id){ .mcc = 123, .mnc = 456 };
+ gbcfg.core_apn = talloc_zero_size(tall_sgsn_ctx, 100);
gbcfg.core_apn_size = gprs_str_to_apn(gbcfg.core_apn, 100, "foo.bar");
gbcfg.patch_ptmsi = 1;
gbcfg.acquire_imsi = 1;
@@ -3507,6 +3518,9 @@ static void test_gbproxy_secondary_sgsn()
dump_global(stdout, 0);
+ talloc_free(gbcfg.core_apn);
+ gbcfg.core_apn = NULL;
+
gbproxy_clear_patch_filter(&gbcfg.matches[GBPROX_MATCH_ROUTING]);
gbprox_reset(&gbcfg);
gprs_ns_destroy(nsi);
@@ -3517,7 +3531,7 @@ static void test_gbproxy_secondary_sgsn()
static void test_gbproxy_keep_info()
{
- struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, NULL);
+ struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, tall_sgsn_ctx);
struct sockaddr_in bss_peer[1] = {{0},};
struct sockaddr_in sgsn_peer= {0};
struct gprs_ra_id rai_bss =
@@ -3543,8 +3557,7 @@ static void test_gbproxy_keep_info()
gbcfg.nsip_sgsn_nsei = SGSN_NSEI;
gbcfg.patch_ptmsi = 0;
gbcfg.acquire_imsi = 1;
- gbcfg.core_mcc = 0;
- gbcfg.core_mnc = 0;
+ gbcfg.core_plmn = (struct osmo_plmn_id){};
gbcfg.core_apn = NULL;
gbcfg.core_apn_size = 0;
gbcfg.route_to_sgsn2 = 0;
@@ -4451,6 +4464,9 @@ static void test_gbproxy_keep_info()
dump_global(stdout, 0);
+ talloc_free(gbcfg.core_apn);
+ gbcfg.core_apn = NULL;
+
gbprox_reset(&gbcfg);
gprs_ns_destroy(nsi);
nsi = NULL;
@@ -4739,6 +4755,8 @@ static void test_gbproxy_tlli_expire(void)
}
gbproxy_clear_patch_filter(&cfg.matches[GBPROX_MATCH_PATCHING]);
gbprox_reset(&cfg);
+ /* gbprox_reset() frees the rate_ctr, but re-allocates it again. */
+ rate_ctr_group_free(cfg.ctrg);
cleanup_test();
}
@@ -4821,7 +4839,7 @@ static void test_gbproxy_imsi_matching(void)
static void test_gbproxy_stored_messages()
{
- struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, NULL);
+ struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, tall_sgsn_ctx);
struct sockaddr_in bss_peer[1] = {{0},};
struct sockaddr_in sgsn_peer= {0};
struct gprs_ra_id rai_bss =
@@ -4844,9 +4862,8 @@ static void test_gbproxy_stored_messages()
bssgp_nsi = nsi;
gbcfg.nsi = bssgp_nsi;
gbcfg.nsip_sgsn_nsei = SGSN_NSEI;
- gbcfg.core_mcc = 0;
- gbcfg.core_mnc = 0;
- gbcfg.core_apn = talloc_zero_size(NULL, 100);
+ gbcfg.core_plmn = (struct osmo_plmn_id){};
+ gbcfg.core_apn = talloc_zero_size(tall_sgsn_ctx, 100);
gbcfg.core_apn_size = gprs_str_to_apn(gbcfg.core_apn, 100, "foo.bar");
gbcfg.patch_ptmsi = 0;
gbcfg.acquire_imsi = 1;
@@ -4906,6 +4923,9 @@ static void test_gbproxy_stored_messages()
dump_global(stdout, 0);
+ talloc_free(gbcfg.core_apn);
+ gbcfg.core_apn = NULL;
+
gbprox_reset(&gbcfg);
gprs_ns_destroy(nsi);
nsi = NULL;
@@ -4913,6 +4933,83 @@ static void test_gbproxy_stored_messages()
cleanup_test();
}
+/* See OS#3178 "gbproxy: failed to parse invalid BSSGP-UNITDATA message" */
+static void test_gbproxy_parse_bssgp_unitdata()
+{
+ const char *hex = "0000239401e155cfea000004088872f4801018009c4000800e000601c0416c4338";
+ struct msgb *msg = msgb_alloc(1034, "bssgp_unitdata");
+ struct gprs_gb_parse_context parse_ctx;
+ int rc;
+
+ memset(&parse_ctx, 0, sizeof(parse_ctx));
+
+ OSMO_ASSERT(msg);
+ msgb_bssgph(msg) = msg->head;
+ msgb_put(msg, osmo_hexparse(hex, msg->head, msgb_tailroom(msg)));
+
+ parse_ctx.to_bss = 0;
+ parse_ctx.peer_nsei = msgb_nsei(msg);
+
+ rc = gprs_gb_parse_bssgp(msg->data, msg->len, &parse_ctx);
+ if (!rc)
+ fprintf(stderr, "%s: Test passed; Failed to parse invalid message %s\n", __func__, msgb_hexdump(msg));
+ else
+ fprintf(stderr, "%s: Test failed; invalid message was accepted by parser: %s\n", __func__, msgb_hexdump(msg));
+
+ OSMO_ASSERT(!rc);
+
+ /* Manually decoded message according to:
+ ETSI TS 148 018 V10.6.0 (2012 07) 96
+ 3GPP TS 48.018 version 10.6.0 Release 10
+ Table 10.2.2: UL-UNITDATA PDU content
+
+ 00 - PDU type UL-UNITDATA (ok)
+
+ 11.3.35 Temporary logical link Identity (TLLI)
+ 00 - TLLI[0]
+ 23 - TLLI[1]
+ 94 - TLLI[2]
+ 01 - TLLI[3]
+ TLLI == "00239401"
+
+ e1 - QOS[0] (bit rate MSB)
+ 55 - QOS[1] (bit rate LSB)
+ bit rate = "57685" (57685*100000 bit/s per PBRG)
+ cf - QOS[2] PBRG = 11 (bit rate is expressed in 100000 bit/s increments),
+ C/R 0 (contains LLC ACK/SACK),
+ T 0 (contains signalling),
+ A 1 (radio if uses MAC/UNITDATA,
+ Precedence 111 (reserved value)
+
+ ea - CELL_ID[0] (TLV IEI: wrong, should be 0x08)
+ 00 - CELL_ID[1] (length 1)
+ 00 - CELL_ID[2] (length 2)
+ lenth == 0
+ 04 -- CELL_ID[3]
+ 08 -- CELL_ID[4]
+ 88 -- CELL_ID[5]
+ 72 -- CELL_ID[6]
+ f4 -- CELL_ID[7]
+ 80 -- CELL_ID[8]
+ 10 -- CELL_DI[9]
+
+ 18 -- QOSP[0] OoS Profile IEI
+ not allowed in BSSGP Userdata
+ 00 -- QOSP[1]
+ 9c -- QOSP[2]
+ 40 -- QOSP[3]
+ 00 -- QOSP[4]
+
+ 80 -- IEI for "E-UTRAN Inter RAT Handover Info"
+ not allowed in BSSGP Userdata
+ 0e -- length (14 bytes -- only 8 bytes remain)
+ 00 06 01 c0 41 6c 43 38 */
+
+ msgb_free(msg);
+
+ cleanup_test();
+}
+
static struct log_info_cat gprs_categories[] = {
[DGPRS] = {
.name = "DGPRS",
@@ -4938,9 +5035,13 @@ static struct log_info info = {
int main(int argc, char **argv)
{
- msgb_talloc_ctx_init(NULL, 0);
+ talloc_enable_leak_report();
+ tall_sgsn_ctx = talloc_named_const(NULL, 0, "gbproxy_test");
+ void *log_ctx = talloc_named_const(tall_sgsn_ctx, 0, "log");
- osmo_init_logging(&info);
+ msgb_talloc_ctx_init(tall_sgsn_ctx, 0);
+
+ osmo_init_logging2(log_ctx, &info);
log_set_use_color(osmo_stderr_target, 0);
log_set_print_filename(osmo_stderr_target, 0);
osmo_signal_register_handler(SS_L_NS, &test_signal, &gbcfg);
@@ -4949,7 +5050,7 @@ int main(int argc, char **argv)
log_set_log_level(osmo_stderr_target, LOGL_DEBUG);
log_set_all_filter(osmo_stderr_target, 1);
- rate_ctr_init(NULL);
+ rate_ctr_init(tall_sgsn_ctx);
setlinebuf(stdout);
@@ -4967,7 +5068,16 @@ int main(int argc, char **argv)
test_gbproxy_keep_info();
test_gbproxy_tlli_expire();
test_gbproxy_stored_messages();
+ test_gbproxy_parse_bssgp_unitdata();
+ gbprox_reset(&gbcfg);
+ /* gbprox_reset() frees the rate_ctr, but re-allocates it again. */
+ rate_ctr_group_free(gbcfg.ctrg);
printf("===== GbProxy test END\n\n");
- exit(EXIT_SUCCESS);
+ talloc_free(log_ctx);
+ /* expecting root and msgb ctx, empty */
+ OSMO_ASSERT(talloc_total_blocks(tall_sgsn_ctx) == 2);
+ talloc_free(tall_sgsn_ctx);
+
+ return 0;
}
diff --git a/tests/gbproxy/gbproxy_test.ok b/tests/gbproxy/gbproxy_test.ok
index 737aec0ba..75f31ab9e 100644
--- a/tests/gbproxy/gbproxy_test.ok
+++ b/tests/gbproxy/gbproxy_test.ok
@@ -11,7 +11,7 @@ PROCESSING RESET_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0a
-result (RESET_ACK) = 1
+result (RESET_ACK) = 0
PROCESSING ALIVE_ACK from 0x05060708:32000
0b
@@ -19,7 +19,7 @@ PROCESSING ALIVE_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
06
-result (ALIVE_ACK) = 1
+result (ALIVE_ACK) = 0
PROCESSING UNBLOCK_ACK from 0x05060708:32000
07
@@ -34,10 +34,14 @@ PROCESSING ALIVE from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
Current NS-VCIs:
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 4
+ Packets at NS Level (Out): 4
+ Bytes at NS Level ( In): 12
+ Bytes at NS Level (Out): 15
NS-VC Block count : 1
--- Initialise BSS 1 ---
@@ -55,7 +59,7 @@ MESSAGE to BSS at 0x01020304:1111, msg length 9
MESSAGE to BSS at 0x01020304:1111, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:1111
0a
@@ -63,17 +67,17 @@ PROCESSING ALIVE from 0x01020304:1111
MESSAGE to BSS at 0x01020304:1111, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
-
MESSAGE to BSS at 0x01020304:1111, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:1111
0b
@@ -92,11 +96,19 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 10 02 07 81 08 08 88 11 22 33 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
Current NS-VCIs:
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 4
+ Bytes at NS Level ( In): 37
+ Bytes at NS Level (Out): 12
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 4
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 12
+ Bytes at NS Level (Out): 37
NS-VC Block count : 1
Peers:
@@ -112,7 +124,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 10 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
--- Initialise BSS 2 ---
@@ -129,7 +141,7 @@ MESSAGE to BSS at 0x01020304:2222, msg length 9
MESSAGE to BSS at 0x01020304:2222, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:2222
0a
@@ -137,17 +149,17 @@ PROCESSING ALIVE from 0x01020304:2222
MESSAGE to BSS at 0x01020304:2222, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:2222
06
-==> got signal NS_UNBLOCK, NS-VC 0x2001/1.2.3.4:2222
-
MESSAGE to BSS at 0x01020304:2222, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x2001/1.2.3.4:2222
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:2222
0b
@@ -166,12 +178,24 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 20 02 07 81 08 08 88 11 22 33 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
Current NS-VCIs:
VCI 0x2001, NSEI 0x2000, peer 0x01020304:2222
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 4
+ Bytes at NS Level ( In): 37
+ Bytes at NS Level (Out): 12
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 37
+ Bytes at NS Level (Out): 21
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 6
+ Bytes at NS Level ( In): 21
+ Bytes at NS Level (Out): 59
NS-VC Block count : 1
Peers:
@@ -189,7 +213,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:2222, msg length 9
00 00 00 00 23 04 82 20 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
--- Move BSS 1 to new port ---
@@ -206,7 +230,7 @@ MESSAGE to BSS at 0x01020304:3333, msg length 9
MESSAGE to BSS at 0x01020304:3333, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:3333
0a
@@ -214,17 +238,17 @@ PROCESSING ALIVE from 0x01020304:3333
MESSAGE to BSS at 0x01020304:3333, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:3333
06
-==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:3333
-
MESSAGE to BSS at 0x01020304:3333, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:3333
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:3333
0b
@@ -233,8 +257,20 @@ result (ALIVE_ACK) = 0
Current NS-VCIs:
VCI 0x2001, NSEI 0x2000, peer 0x01020304:2222
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 37
+ Bytes at NS Level (Out): 21
VCI 0x1001, NSEI 0x1000, peer 0x01020304:3333
+ Packets at NS Level ( In): 9
+ Packets at NS Level (Out): 9
+ Bytes at NS Level ( In): 52
+ Bytes at NS Level (Out): 33
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 6
+ Packets at NS Level (Out): 6
+ Bytes at NS Level ( In): 30
+ Bytes at NS Level (Out): 59
NS-VC Block count : 1
Peers:
@@ -257,7 +293,7 @@ MESSAGE to BSS at 0x01020304:1111, msg length 9
MESSAGE to BSS at 0x01020304:1111, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:1111
0a
@@ -265,17 +301,17 @@ PROCESSING ALIVE from 0x01020304:1111
MESSAGE to BSS at 0x01020304:1111, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x2001/1.2.3.4:1111
-
MESSAGE to BSS at 0x01020304:1111, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x2001/1.2.3.4:1111
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:1111
0b
@@ -284,8 +320,20 @@ result (ALIVE_ACK) = 0
Current NS-VCIs:
VCI 0x2001, NSEI 0x2000, peer 0x01020304:1111
+ Packets at NS Level ( In): 9
+ Packets at NS Level (Out): 9
+ Bytes at NS Level ( In): 52
+ Bytes at NS Level (Out): 33
VCI 0x1001, NSEI 0x1000, peer 0x01020304:3333
+ Packets at NS Level ( In): 9
+ Packets at NS Level (Out): 9
+ Bytes at NS Level ( In): 52
+ Bytes at NS Level (Out): 33
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 6
+ Packets at NS Level (Out): 6
+ Bytes at NS Level ( In): 30
+ Bytes at NS Level (Out): 59
NS-VC Block count : 1
Peers:
@@ -308,7 +356,7 @@ MESSAGE to BSS at 0x01020304:1111, msg length 9
MESSAGE to BSS at 0x01020304:1111, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:1111
0a
@@ -316,17 +364,17 @@ PROCESSING ALIVE from 0x01020304:1111
MESSAGE to BSS at 0x01020304:1111, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x2001/1.2.3.4:1111
-
MESSAGE to BSS at 0x01020304:1111, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x2001/1.2.3.4:1111
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:1111
0b
@@ -335,8 +383,20 @@ result (ALIVE_ACK) = 0
Current NS-VCIs:
VCI 0x2001, NSEI 0x2000, peer 0x01020304:1111
+ Packets at NS Level ( In): 13
+ Packets at NS Level (Out): 13
+ Bytes at NS Level ( In): 67
+ Bytes at NS Level (Out): 45
VCI 0x1001, NSEI 0x1000, peer 0x01020304:3333
+ Packets at NS Level ( In): 9
+ Packets at NS Level (Out): 9
+ Bytes at NS Level ( In): 52
+ Bytes at NS Level (Out): 33
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 6
+ Packets at NS Level (Out): 6
+ Bytes at NS Level ( In): 30
+ Bytes at NS Level (Out): 59
NS-VC Block count : 1
Peers:
@@ -359,7 +419,7 @@ MESSAGE to BSS at 0x01020304:4444, msg length 9
MESSAGE to BSS at 0x01020304:4444, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:4444
0a
@@ -367,17 +427,17 @@ PROCESSING ALIVE from 0x01020304:4444
MESSAGE to BSS at 0x01020304:4444, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:4444
06
-==> got signal NS_UNBLOCK, NS-VC 0x2001/1.2.3.4:4444
-
MESSAGE to BSS at 0x01020304:4444, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x2001/1.2.3.4:4444
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:4444
0b
@@ -386,8 +446,20 @@ result (ALIVE_ACK) = 0
Current NS-VCIs:
VCI 0x2001, NSEI 0x2000, peer 0x01020304:4444
+ Packets at NS Level ( In): 17
+ Packets at NS Level (Out): 17
+ Bytes at NS Level ( In): 82
+ Bytes at NS Level (Out): 57
VCI 0x1001, NSEI 0x1000, peer 0x01020304:3333
+ Packets at NS Level ( In): 9
+ Packets at NS Level (Out): 9
+ Bytes at NS Level ( In): 52
+ Bytes at NS Level (Out): 33
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 6
+ Packets at NS Level (Out): 6
+ Bytes at NS Level ( In): 30
+ Bytes at NS Level (Out): 59
NS-VC Block count : 1
Peers:
@@ -412,7 +484,7 @@ MESSAGE to BSS at 0x01020304:3333, msg length 9
MESSAGE to BSS at 0x01020304:3333, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:3333
0a
@@ -420,17 +492,17 @@ PROCESSING ALIVE from 0x01020304:3333
MESSAGE to BSS at 0x01020304:3333, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:3333
06
-==> got signal NS_UNBLOCK, NS-VC 0x2001/1.2.3.4:3333
-
MESSAGE to BSS at 0x01020304:3333, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x2001/1.2.3.4:3333
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:3333
0b
@@ -439,9 +511,21 @@ result (ALIVE_ACK) = 0
Current NS-VCIs:
VCI 0x2001, NSEI 0x2000, peer 0x01020304:3333
+ Packets at NS Level ( In): 20
+ Packets at NS Level (Out): 21
+ Bytes at NS Level ( In): 85
+ Bytes at NS Level (Out): 69
NS-VC replaced other count: 1
VCI 0x1001, NSEI 0x1000, peer 0x00000000:0
+ Packets at NS Level ( In): 10
+ Packets at NS Level (Out): 9
+ Bytes at NS Level ( In): 64
+ Bytes at NS Level (Out): 33
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 6
+ Packets at NS Level (Out): 6
+ Bytes at NS Level ( In): 30
+ Bytes at NS Level (Out): 59
NS-VC Block count : 1
Peers:
@@ -464,7 +548,7 @@ MESSAGE to BSS at 0x01020304:1111, msg length 9
MESSAGE to BSS at 0x01020304:1111, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:1111
0a
@@ -472,17 +556,17 @@ PROCESSING ALIVE from 0x01020304:1111
MESSAGE to BSS at 0x01020304:1111, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
-
MESSAGE to BSS at 0x01020304:1111, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:1111
0b
@@ -491,9 +575,21 @@ result (ALIVE_ACK) = 0
Current NS-VCIs:
VCI 0x2001, NSEI 0x2000, peer 0x01020304:3333
+ Packets at NS Level ( In): 20
+ Packets at NS Level (Out): 21
+ Bytes at NS Level ( In): 85
+ Bytes at NS Level (Out): 69
NS-VC replaced other count: 1
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
+ Packets at NS Level ( In): 14
+ Packets at NS Level (Out): 13
+ Bytes at NS Level ( In): 79
+ Bytes at NS Level (Out): 45
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 6
+ Packets at NS Level (Out): 6
+ Bytes at NS Level ( In): 30
+ Bytes at NS Level (Out): 59
NS-VC Block count : 1
Peers:
@@ -515,13 +611,25 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 10 12 07 81 08 08 88 11 22 33 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
Current NS-VCIs:
VCI 0x2001, NSEI 0x2000, peer 0x01020304:3333
+ Packets at NS Level ( In): 20
+ Packets at NS Level (Out): 21
+ Bytes at NS Level ( In): 85
+ Bytes at NS Level (Out): 69
NS-VC replaced other count: 1
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
+ Packets at NS Level ( In): 15
+ Packets at NS Level (Out): 13
+ Bytes at NS Level ( In): 101
+ Bytes at NS Level (Out): 45
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 6
+ Packets at NS Level (Out): 7
+ Bytes at NS Level ( In): 30
+ Bytes at NS Level (Out): 81
NS-VC Block count : 1
Peers:
@@ -541,7 +649,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 10 12
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
--- Reset BSS 1 with the old BVCI ---
@@ -557,13 +665,25 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 10 02 07 81 08 08 88 11 22 33 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
Current NS-VCIs:
VCI 0x2001, NSEI 0x2000, peer 0x01020304:3333
+ Packets at NS Level ( In): 20
+ Packets at NS Level (Out): 21
+ Bytes at NS Level ( In): 85
+ Bytes at NS Level (Out): 69
NS-VC replaced other count: 1
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
+ Packets at NS Level ( In): 16
+ Packets at NS Level (Out): 14
+ Bytes at NS Level ( In): 123
+ Bytes at NS Level (Out): 54
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 7
+ Packets at NS Level (Out): 8
+ Bytes at NS Level ( In): 39
+ Bytes at NS Level (Out): 103
NS-VC Block count : 1
Peers:
@@ -583,7 +703,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 10 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
--- Reset BSS 1 with the old BVCI again ---
@@ -599,13 +719,25 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 10 02 07 81 08 08 88 11 22 33 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
Current NS-VCIs:
VCI 0x2001, NSEI 0x2000, peer 0x01020304:3333
+ Packets at NS Level ( In): 20
+ Packets at NS Level (Out): 21
+ Bytes at NS Level ( In): 85
+ Bytes at NS Level (Out): 69
NS-VC replaced other count: 1
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
+ Packets at NS Level ( In): 17
+ Packets at NS Level (Out): 15
+ Bytes at NS Level ( In): 145
+ Bytes at NS Level (Out): 63
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 8
+ Packets at NS Level (Out): 9
+ Bytes at NS Level ( In): 48
+ Bytes at NS Level (Out): 125
NS-VC Block count : 1
Peers:
@@ -625,7 +757,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 10 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
--- Send message from BSS 1 to SGSN, BVCI 0x1012 ---
@@ -639,7 +771,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1012, msg length 0 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 4
00 00 10 12
-result (UNITDATA) = 4
+result (UNITDATA) = 0
--- Send message from SGSN to BSS 1, BVCI 0x1012 ---
@@ -653,7 +785,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1012, msg length 0 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 4
00 00 10 12
-result (UNITDATA) = 4
+result (UNITDATA) = 0
--- Send message from BSS 1 to SGSN, BVCI 0x1002 ---
@@ -667,7 +799,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1012, msg length 0 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 4
00 00 10 12
-result (UNITDATA) = 4
+result (UNITDATA) = 0
--- Send message from SGSN to BSS 1, BVCI 0x1002 ---
@@ -681,7 +813,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1012, msg length 0 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 4
00 00 10 12
-result (UNITDATA) = 4
+result (UNITDATA) = 0
--- Send message from BSS 2 to SGSN, BVCI 0x2002 ---
@@ -695,7 +827,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x2002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 4
00 00 20 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
--- Send message from SGSN to BSS 2, BVCI 0x2002 ---
@@ -709,7 +841,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x2002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:3333, msg length 4
00 00 20 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
--- Reset BSS 1 with the old BVCI on BSS2's link ---
@@ -725,13 +857,25 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 10 02 07 81 08 08 88 11 22 33 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
Current NS-VCIs:
VCI 0x2001, NSEI 0x2000, peer 0x01020304:3333
+ Packets at NS Level ( In): 21
+ Packets at NS Level (Out): 22
+ Bytes at NS Level ( In): 107
+ Bytes at NS Level (Out): 73
NS-VC replaced other count: 1
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
+ Packets at NS Level ( In): 20
+ Packets at NS Level (Out): 18
+ Bytes at NS Level ( In): 157
+ Bytes at NS Level (Out): 80
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 12
+ Packets at NS Level (Out): 13
+ Bytes at NS Level ( In): 69
+ Bytes at NS Level (Out): 159
NS-VC Block count : 1
Peers:
@@ -754,7 +898,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:3333, msg length 9
00 00 00 00 23 04 82 10 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
--- Send message from BSS 1 to SGSN, BVCI 0x1002 ---
@@ -768,7 +912,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1012, msg length 0 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 4
00 00 10 12
-result (UNITDATA) = 4
+result (UNITDATA) = 0
--- Send message from SGSN to BSS 1, BVCI 0x1002 ---
@@ -782,7 +926,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1012, msg length 0 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 4
00 00 10 12
-result (UNITDATA) = 4
+result (UNITDATA) = 0
--- Send message from SGSN to BSS 1, BVCI 0x10ff (invalid) ---
@@ -796,7 +940,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 10 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 14
00 00 00 00 41 07 81 05 04 82 10 ff 15 80
-result (UNITDATA) = 14
+result (UNITDATA) = 0
Peers:
NSEI 8192, BVCI 8194, not blocked, RAI 112-332-16464-96
@@ -819,7 +963,7 @@ PROCESSING RESET_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0a
-result (RESET_ACK) = 1
+result (RESET_ACK) = 0
PROCESSING ALIVE_ACK from 0x05060708:32000
0b
@@ -827,7 +971,7 @@ PROCESSING ALIVE_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
06
-result (ALIVE_ACK) = 1
+result (ALIVE_ACK) = 0
PROCESSING UNBLOCK_ACK from 0x05060708:32000
07
@@ -842,10 +986,14 @@ PROCESSING ALIVE from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
Current NS-VCIs:
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 4
+ Packets at NS Level (Out): 4
+ Bytes at NS Level ( In): 12
+ Bytes at NS Level (Out): 15
NS-VC Block count : 1
--- Initialise BSS 1 ---
@@ -863,7 +1011,7 @@ MESSAGE to BSS at 0x01020304:1111, msg length 9
MESSAGE to BSS at 0x01020304:1111, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:1111
0a
@@ -871,17 +1019,17 @@ PROCESSING ALIVE from 0x01020304:1111
MESSAGE to BSS at 0x01020304:1111, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
-
MESSAGE to BSS at 0x01020304:1111, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:1111
0b
@@ -890,7 +1038,15 @@ result (ALIVE_ACK) = 0
Current NS-VCIs:
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
+ Packets at NS Level ( In): 4
+ Packets at NS Level (Out): 4
+ Bytes at NS Level ( In): 15
+ Bytes at NS Level (Out): 12
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 4
+ Packets at NS Level (Out): 4
+ Bytes at NS Level ( In): 12
+ Bytes at NS Level (Out): 15
NS-VC Block count : 1
--- Setup BVCI 1 ---
@@ -907,7 +1063,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 10 02 07 81 08 08 88 11 22 33 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
PROCESSING BVC_RESET_ACK from 0x05060708:32000
00 00 00 00 23 04 82 10 02
@@ -919,7 +1075,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 10 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -938,7 +1094,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 20 02 07 81 08 08 88 11 22 33 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
PROCESSING BVC_RESET_ACK from 0x05060708:32000
00 00 00 00 23 04 82 20 02
@@ -950,7 +1106,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 20 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
Peers:
NSEI 4096, BVCI 8194, not blocked, RAI 112-332-16464-96
@@ -969,7 +1125,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 4
00 00 10 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
PROCESSING UNITDATA from 0x05060708:32000
00 00 10 02
@@ -981,7 +1137,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 4
00 00 10 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
--- Send message from BSS 1 to SGSN and back, BVCI 2 ---
@@ -995,7 +1151,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x2002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 4
00 00 20 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
PROCESSING UNITDATA from 0x05060708:32000
00 00 20 02
@@ -1007,7 +1163,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x2002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 4
00 00 20 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
--- Change NSEI ---
@@ -1024,7 +1180,7 @@ MESSAGE to BSS at 0x01020304:1111, msg length 9
MESSAGE to BSS at 0x01020304:1111, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:1111
0a
@@ -1032,17 +1188,17 @@ PROCESSING ALIVE from 0x01020304:1111
MESSAGE to BSS at 0x01020304:1111, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
-
MESSAGE to BSS at 0x01020304:1111, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:1111
0b
@@ -1051,8 +1207,16 @@ result (ALIVE_ACK) = 0
Current NS-VCIs:
VCI 0x1001, NSEI 0x2000, peer 0x01020304:1111
+ Packets at NS Level ( In): 12
+ Packets at NS Level (Out): 12
+ Bytes at NS Level ( In): 82
+ Bytes at NS Level (Out): 50
NS-VC changed NSEI count : 1
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 8
+ Packets at NS Level (Out): 8
+ Bytes at NS Level ( In): 38
+ Bytes at NS Level (Out): 67
NS-VC Block count : 1
--- Setup BVCI 1 ---
@@ -1069,7 +1233,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 10 02 07 81 08 08 88 11 22 33 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
PROCESSING BVC_RESET_ACK from 0x05060708:32000
00 00 00 00 23 04 82 10 02
@@ -1081,7 +1245,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 10 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
Peers:
NSEI 4096, BVCI 8194, not blocked, RAI 112-332-16464-96
@@ -1103,7 +1267,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 30 02 07 81 08 08 88 11 22 33 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
PROCESSING BVC_RESET_ACK from 0x05060708:32000
00 00 00 00 23 04 82 30 02
@@ -1115,7 +1279,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 30 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
Peers:
NSEI 8192, BVCI 12290, not blocked, RAI 112-332-16464-96
@@ -1137,7 +1301,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 4
00 00 10 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
PROCESSING UNITDATA from 0x05060708:32000
00 00 10 02
@@ -1149,7 +1313,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 4
00 00 10 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
--- Send message from BSS 1 to SGSN and back, BVCI 2 (should fail) ---
@@ -1163,7 +1327,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x2002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 4
00 00 20 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
Peers:
NSEI 8192, BVCI 12290, not blocked, RAI 112-332-16464-96
@@ -1205,7 +1369,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x3002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 4
00 00 30 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
PROCESSING UNITDATA from 0x05060708:32000
00 00 30 02
@@ -1217,7 +1381,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x3002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 4
00 00 30 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
--- Change NSVCI ---
@@ -1236,7 +1400,7 @@ MESSAGE to BSS at 0x01020304:1111, msg length 9
MESSAGE to BSS at 0x01020304:1111, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:1111
0a
@@ -1244,17 +1408,17 @@ PROCESSING ALIVE from 0x01020304:1111
MESSAGE to BSS at 0x01020304:1111, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x2001/1.2.3.4:1111
-
MESSAGE to BSS at 0x01020304:1111, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x2001/1.2.3.4:1111
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:1111
0b
@@ -1263,10 +1427,22 @@ result (ALIVE_ACK) = 0
Current NS-VCIs:
VCI 0x2001, NSEI 0x2000, peer 0x01020304:1111
+ Packets at NS Level ( In): 3
+ Packets at NS Level (Out): 4
+ Bytes at NS Level ( In): 3
+ Bytes at NS Level (Out): 12
NS-VC replaced other count: 1
VCI 0x1001, NSEI 0x2000, peer 0x00000000:0
+ Packets at NS Level ( In): 18
+ Packets at NS Level (Out): 16
+ Bytes at NS Level ( In): 150
+ Bytes at NS Level (Out): 76
NS-VC changed NSEI count : 1
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 13
+ Packets at NS Level (Out): 13
+ Bytes at NS Level ( In): 68
+ Bytes at NS Level (Out): 123
NS-VC Block count : 1
--- Setup BVCI 1 ---
@@ -1283,7 +1459,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 10 02 07 81 08 08 88 11 22 33 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
PROCESSING BVC_RESET_ACK from 0x05060708:32000
00 00 00 00 23 04 82 10 02
@@ -1295,7 +1471,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 10 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
Peers:
NSEI 8192, BVCI 12290, not blocked, RAI 112-332-16464-96
@@ -1321,7 +1497,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 40 02 07 81 08 08 88 11 22 33 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
PROCESSING BVC_RESET_ACK from 0x05060708:32000
00 00 00 00 23 04 82 40 02
@@ -1333,7 +1509,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 40 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
Peers:
NSEI 8192, BVCI 16386, not blocked, RAI 112-332-16464-96
@@ -1359,7 +1535,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 4
00 00 10 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
PROCESSING UNITDATA from 0x05060708:32000
00 00 10 02
@@ -1371,7 +1547,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 4
00 00 10 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
--- Send message from BSS 1 to SGSN and back, BVCI 2 (should fail) ---
@@ -1385,7 +1561,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x2002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 4
00 00 20 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
Peers:
NSEI 8192, BVCI 16386, not blocked, RAI 112-332-16464-96
@@ -1432,7 +1608,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x3002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 4
00 00 30 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
PROCESSING UNITDATA from 0x05060708:32000
00 00 30 02
@@ -1444,7 +1620,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x3002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 4
00 00 30 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
--- Send message from BSS 1 to SGSN and back, BVCI 4 ---
@@ -1458,7 +1634,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x4002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 4
00 00 40 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
PROCESSING UNITDATA from 0x05060708:32000
00 00 40 02
@@ -1470,7 +1646,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x4002, msg length 0 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 4
00 00 40 02
-result (UNITDATA) = 4
+result (UNITDATA) = 0
Gbproxy global:
Peers:
@@ -1499,7 +1675,7 @@ PROCESSING RESET_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0a
-result (RESET_ACK) = 1
+result (RESET_ACK) = 0
PROCESSING ALIVE_ACK from 0x05060708:32000
0b
@@ -1507,7 +1683,7 @@ PROCESSING ALIVE_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
06
-result (ALIVE_ACK) = 1
+result (ALIVE_ACK) = 0
PROCESSING UNBLOCK_ACK from 0x05060708:32000
07
@@ -1522,7 +1698,7 @@ PROCESSING ALIVE from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
--- Initialise BSS 1 ---
@@ -1539,7 +1715,7 @@ MESSAGE to BSS at 0x01020304:1111, msg length 9
MESSAGE to BSS at 0x01020304:1111, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:1111
0a
@@ -1547,17 +1723,17 @@ PROCESSING ALIVE from 0x01020304:1111
MESSAGE to BSS at 0x01020304:1111, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
-
MESSAGE to BSS at 0x01020304:1111, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:1111
0b
@@ -1576,7 +1752,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 10 02 07 81 08 08 88 11 22 33 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
PROCESSING BVC_RESET_ACK from 0x05060708:32000
00 00 00 00 23 04 82 10 02
@@ -1588,11 +1764,19 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 10 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
Current NS-VCIs:
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 37
+ Bytes at NS Level (Out): 21
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 21
+ Bytes at NS Level (Out): 37
NS-VC Block count : 1
Gbproxy global:
@@ -1611,7 +1795,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 75 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 79
00 00 10 02 01 80 00 de ad 00 00 04 08 88 00 f1 99 00 63 60 12 34 00 80 0e 00 34 01 c0 01 08 01 02 f5 e0 21 08 02 05 f4 fb c5 46 79 11 22 33 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 16 6d 01
-result (ATTACH REQUEST) = 79
+result (ATTACH REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -1629,7 +1813,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 23 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 27
00 00 10 02 00 80 00 de ad 00 50 20 16 82 02 58 0e 89 41 c0 01 08 15 01 ff 6c ba
-result (IDENT REQUEST) = 27
+result (IDENT REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -1647,7 +1831,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 40 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 44
00 00 10 02 01 80 00 de ad 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 11 01 c0 05 08 16 08 11 12 13 14 15 16 17 18 ad 05 28
-result (IDENT RESPONSE) = 44
+result (IDENT RESPONSE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -1665,7 +1849,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 80 00 de ad 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 05 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 ef e2 b7 00 53 62 f1
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -1684,7 +1868,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 09 08 03 39 d7 bc
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -1704,7 +1888,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 66 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 70
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 88 41 c0 09 08 21 04 ba 3d
-result (GMM INFO) = 70
+result (GMM INFO) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -1726,7 +1910,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 75 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 79
00 00 10 02 01 80 00 be ef 00 00 04 08 88 00 f1 99 00 63 60 12 34 00 80 0e 00 34 01 c0 0d 08 01 02 f5 e0 21 08 02 05 f4 fb c5 46 79 11 22 33 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 46 42 6e
-result (ATTACH REQUEST) = 79
+result (ATTACH REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -1747,7 +1931,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 23 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 27
00 00 10 02 00 80 00 be ef 00 50 20 16 82 02 58 0e 89 41 c0 0d 08 15 01 0c a6 18
-result (IDENT REQUEST) = 27
+result (IDENT REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -1768,7 +1952,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 40 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 44
00 00 10 02 01 80 00 be ef 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 11 01 c0 11 08 16 08 11 12 99 99 99 16 17 18 bf d2 01
-result (IDENT RESPONSE) = 44
+result (IDENT RESPONSE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -1789,7 +1973,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 80 00 be ef 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 99 99 99 16 17 18 00 81 00 0e 9e 41 c0 11 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 ef e2 b7 00 3a 6d d4
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -1809,7 +1993,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 15 08 03 86 ac 47
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -1829,7 +2013,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 66 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 70
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 99 99 99 16 17 18 00 81 00 0e 88 41 c0 15 08 21 bb c1 c6
-result (GMM INFO) = 70
+result (GMM INFO) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -1852,7 +2036,7 @@ PROCESSING RESET_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0a
-result (RESET_ACK) = 1
+result (RESET_ACK) = 0
PROCESSING ALIVE_ACK from 0x05060708:32000
0b
@@ -1860,7 +2044,7 @@ PROCESSING ALIVE_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
06
-result (ALIVE_ACK) = 1
+result (ALIVE_ACK) = 0
PROCESSING UNBLOCK_ACK from 0x05060708:32000
07
@@ -1875,10 +2059,14 @@ PROCESSING ALIVE from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
Current NS-VCIs:
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 4
+ Packets at NS Level (Out): 4
+ Bytes at NS Level ( In): 12
+ Bytes at NS Level (Out): 15
NS-VC Block count : 1
--- Initialise BSS 1 ---
@@ -1896,7 +2084,7 @@ MESSAGE to BSS at 0x01020304:1111, msg length 9
MESSAGE to BSS at 0x01020304:1111, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:1111
0a
@@ -1904,17 +2092,17 @@ PROCESSING ALIVE from 0x01020304:1111
MESSAGE to BSS at 0x01020304:1111, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
-
MESSAGE to BSS at 0x01020304:1111, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:1111
0b
@@ -1933,11 +2121,19 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 10 02 07 81 08 08 88 21 63 54 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
Current NS-VCIs:
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 4
+ Bytes at NS Level ( In): 37
+ Bytes at NS Level (Out): 12
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 4
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 12
+ Bytes at NS Level (Out): 37
NS-VC Block count : 1
Peers:
@@ -1954,7 +2150,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 10 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
PROCESSING BVC_SUSPEND from 0x01020304:1111
00 00 00 00 0b 1f 84 cc d1 75 8b 1b 86 11 22 33 40 50 60
@@ -1966,7 +2162,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 15 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 19
00 00 00 00 0b 1f 84 cc d1 75 8b 1b 86 21 63 54 40 50 60
-result (BVC_SUSPEND) = 19
+result (BVC_SUSPEND) = 0
PROCESSING BVC_SUSPEND_ACK from 0x05060708:32000
00 00 00 00 0c 1f 84 cc d1 75 8b 1b 86 21 63 54 40 50 60 1d 81 01
@@ -1978,7 +2174,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 22
00 00 00 00 0c 1f 84 cc d1 75 8b 1b 86 11 22 33 40 50 60 1d 81 01
-result (BVC_SUSPEND_ACK) = 22
+result (BVC_SUSPEND_ACK) = 0
Gbproxy global:
Peers:
@@ -1999,7 +2195,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 75 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 79
00 00 10 02 01 bb c5 46 79 00 00 04 08 88 21 63 54 40 50 60 75 30 00 80 0e 00 34 01 c0 01 08 01 02 f5 e0 21 08 02 05 f4 fb c5 46 79 21 63 54 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 8e cd 32
-result (ATTACH REQUEST) = 79
+result (ATTACH REQUEST) = 0
PROCESSING IDENT REQUEST from 0x05060708:32000
00 00 10 02 00 bb c5 46 79 00 50 20 16 82 02 58 0e 89 41 c0 01 08 15 01 ff 6c ba
@@ -2011,7 +2207,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 23 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 27
00 00 10 02 00 bb c5 46 79 00 50 20 16 82 02 58 0e 89 41 c0 01 08 15 01 ff 6c ba
-result (IDENT REQUEST) = 27
+result (IDENT REQUEST) = 0
PROCESSING IDENT RESPONSE from 0x01020304:1111
00 00 10 02 01 bb c5 46 79 00 00 04 08 88 11 22 33 40 50 60 75 30 00 80 0e 00 11 01 c0 0d 08 16 08 11 12 13 14 15 16 17 18 b7 1b 9a
@@ -2023,7 +2219,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 40 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 44
00 00 10 02 01 bb c5 46 79 00 00 04 08 88 21 63 54 40 50 60 75 30 00 80 0e 00 11 01 c0 0d 08 16 08 11 12 13 14 15 16 17 18 b7 1b 9a
-result (IDENT RESPONSE) = 44
+result (IDENT RESPONSE) = 0
PROCESSING ATTACH ACCEPT from 0x05060708:32000
00 00 10 02 00 bb c5 46 79 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 05 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 ef e2 b7 00 53 62 f1
@@ -2035,7 +2231,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 bb c5 46 79 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 05 08 02 01 49 04 11 22 33 40 50 60 19 cd d7 08 17 16 18 05 f4 ef e2 b7 00 be 38 c0
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
PROCESSING ATTACH COMPLETE from 0x01020304:1111
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 75 30 00 80 0e 00 08 01 c0 11 08 03 ea 67 11
@@ -2047,7 +2243,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 75 30 00 80 0e 00 08 01 c0 11 08 03 ea 67 11
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
PROCESSING ACT PDP CTX REQ (REPLACE APN) from 0x01020304:1111
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 75 30 00 80 0e 00 35 01 c0 0d 0a 41 05 03 0c 00 00 1f 10 00 00 00 00 00 00 00 00 02 01 21 28 03 02 61 62 27 14 80 80 21 10 01 00 00 10 81 06 00 00 00 00 83 06 00 00 00 00 5a ff 02
@@ -2059,7 +2255,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 81 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 85
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 75 30 00 80 0e 00 3a 01 c0 0d 0a 41 05 03 0c 00 00 1f 10 00 00 00 00 00 00 00 00 02 01 21 28 08 03 66 6f 6f 03 62 61 72 27 14 80 80 21 10 01 00 00 10 81 06 00 00 00 00 83 06 00 00 00 00 24 9d 75
-result (ACT PDP CTX REQ (REPLACE APN)) = 85
+result (ACT PDP CTX REQ (REPLACE APN)) = 0
PROCESSING GMM INFO from 0x05060708:32000
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 88 41 c0 09 08 21 04 ba 3d
@@ -2071,7 +2267,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 66 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 70
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 88 41 c0 09 08 21 04 ba 3d
-result (GMM INFO) = 70
+result (GMM INFO) = 0
PROCESSING ACT PDP CTX REQ (REPLACE APN) from 0x01020304:1111
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 75 30 00 80 0e 00 35 01 c0 0d 0a 41 05 03 0c 00 00 1f 10 00 00 00 00 00 00 00 00 02 01 21 28 03 02 61 62 27 14 80 80 21 10 01 00 00 10 81 06 00 00 00 00 83 06 00 00 00 00 5a ff 02
@@ -2083,7 +2279,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 81 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 85
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 75 30 00 80 0e 00 3a 01 c0 0d 0a 41 05 03 0c 00 00 1f 10 00 00 00 00 00 00 00 00 02 01 21 28 08 03 66 6f 6f 03 62 61 72 27 14 80 80 21 10 01 00 00 10 81 06 00 00 00 00 83 06 00 00 00 00 24 9d 75
-result (ACT PDP CTX REQ (REPLACE APN)) = 85
+result (ACT PDP CTX REQ (REPLACE APN)) = 0
PROCESSING ACT PDP CTX REQ (REMOVE APN) from 0x01020304:1111
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 75 30 00 80 0e 00 35 01 c0 0d 0a 41 05 03 0c 00 00 1f 10 00 00 00 00 00 00 00 00 02 01 21 28 03 02 61 62 27 14 80 80 21 10 01 00 00 10 81 06 00 00 00 00 83 06 00 00 00 00 5a ff 02
@@ -2095,7 +2291,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 71 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 75
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 75 30 00 80 0e 00 30 01 c0 0d 0a 41 05 03 0c 00 00 1f 10 00 00 00 00 00 00 00 00 02 01 21 27 14 80 80 21 10 01 00 00 10 81 06 00 00 00 00 83 06 00 00 00 00 85 fa 60
-result (ACT PDP CTX REQ (REMOVE APN)) = 75
+result (ACT PDP CTX REQ (REMOVE APN)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2120,7 +2316,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 44 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 48
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 75 30 00 80 0e 00 15 01 c0 19 08 05 01 18 05 f4 ef e2 b7 00 19 03 b9 97 cb 7e e1 41
-result (DETACH REQ) = 48
+result (DETACH REQ) = 0
PROCESSING DETACH ACC from 0x05060708:32000
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 89 41 c0 15 08 06 00 f7 35 f0
@@ -2132,7 +2328,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 67 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 71
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 89 41 c0 15 08 06 00 f7 35 f0
-result (DETACH ACC) = 71
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2159,7 +2355,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 85 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 89
00 00 10 02 01 bb c5 46 79 00 00 04 08 88 21 63 54 40 50 60 70 80 00 80 0e 00 3e 01 c0 15 08 08 10 21 63 54 40 50 60 1d 19 13 42 33 57 2b f7 c8 48 02 13 48 50 c8 48 02 14 48 50 c8 48 02 17 49 10 c8 48 02 00 19 8b b2 92 17 16 27 07 04 31 02 e5 e0 32 02 20 00 1d f0 41
-result (RA UPD REQ) = 89
+result (RA UPD REQ) = 0
PROCESSING RA UPD ACC from 0x05060708:32000
00 00 10 02 00 bb c5 46 79 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9d 41 c0 19 08 09 00 49 21 63 54 40 50 60 19 54 ab b3 18 05 f4 ef e2 b7 00 17 16 d7 59 65
@@ -2171,7 +2367,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 87 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 91
00 00 10 02 00 bb c5 46 79 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9d 41 c0 19 08 09 00 49 11 22 33 40 50 60 19 54 ab b3 18 05 f4 ef e2 b7 00 17 16 3a 03 54
-result (RA UPD ACC) = 91
+result (RA UPD ACC) = 0
PROCESSING ACT PDP CTX REQ (REMOVE APN) from 0x01020304:1111
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 75 30 00 80 0e 00 35 01 c0 0d 0a 41 05 03 0c 00 00 1f 10 00 00 00 00 00 00 00 00 02 01 21 28 03 02 61 62 27 14 80 80 21 10 01 00 00 10 81 06 00 00 00 00 83 06 00 00 00 00 5a ff 02
@@ -2183,7 +2379,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 71 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 75
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 75 30 00 80 0e 00 30 01 c0 0d 0a 41 05 03 0c 00 00 1f 10 00 00 00 00 00 00 00 00 02 01 21 27 14 80 80 21 10 01 00 00 10 81 06 00 00 00 00 83 06 00 00 00 00 85 fa 60
-result (ACT PDP CTX REQ (REMOVE APN)) = 75
+result (ACT PDP CTX REQ (REMOVE APN)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2212,7 +2408,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 44 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 48
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 75 30 00 80 0e 00 15 01 c0 19 08 05 09 18 05 f4 ef e2 b7 00 19 03 b9 97 cb 84 0c eb
-result (DETACH REQ (PWR OFF)) = 48
+result (DETACH REQ (PWR OFF)) = 0
Gbproxy global:
Peers:
@@ -2242,7 +2438,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 75 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 79
00 00 10 02 01 bb 00 be ef 00 00 04 08 88 21 63 54 40 50 60 75 30 00 80 0e 00 34 01 c0 01 08 01 02 f5 e0 21 08 02 05 f4 fb 00 be ef 99 99 99 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 2d c7 df
-result (ATTACH REQUEST (foreign RAI)) = 79
+result (ATTACH REQUEST (foreign RAI)) = 0
TLLI is already detached, shouldn't patch
PROCESSING ACT PDP CTX REQ from 0x01020304:1111
@@ -2255,7 +2451,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 76 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 80
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 75 30 00 80 0e 00 35 01 c0 0d 0a 41 05 03 0c 00 00 1f 10 00 00 00 00 00 00 00 00 02 01 21 28 03 02 61 62 27 14 80 80 21 10 01 00 00 10 81 06 00 00 00 00 83 06 00 00 00 00 5a ff 02
-result (ACT PDP CTX REQ) = 80
+result (ACT PDP CTX REQ) = 0
Invalid RAI, shouldn't patch
PROCESSING BVC_SUSPEND_ACK from 0x05060708:32000
@@ -2268,7 +2464,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 24 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 28
00 00 00 00 41 07 81 21 15 92 0c 1f 84 cc d1 75 8b 1b 86 00 f1 99 00 63 60 1d 81 01
-result (BVC_SUSPEND_ACK) = 28
+result (BVC_SUSPEND_ACK) = 0
Gbproxy global:
Invalid Routing Area Identifier : 1
@@ -2303,7 +2499,7 @@ PROCESSING RESET_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0a
-result (RESET_ACK) = 1
+result (RESET_ACK) = 0
PROCESSING ALIVE_ACK from 0x05060708:32000
0b
@@ -2311,7 +2507,7 @@ PROCESSING ALIVE_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
06
-result (ALIVE_ACK) = 1
+result (ALIVE_ACK) = 0
PROCESSING UNBLOCK_ACK from 0x05060708:32000
07
@@ -2326,7 +2522,7 @@ PROCESSING ALIVE from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
--- Initialise BSS 1 ---
@@ -2343,7 +2539,7 @@ MESSAGE to BSS at 0x01020304:1111, msg length 9
MESSAGE to BSS at 0x01020304:1111, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:1111
0a
@@ -2351,17 +2547,17 @@ PROCESSING ALIVE from 0x01020304:1111
MESSAGE to BSS at 0x01020304:1111, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
-
MESSAGE to BSS at 0x01020304:1111, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:1111
0b
@@ -2380,7 +2576,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 10 02 07 81 08 08 88 21 63 54 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
PROCESSING BVC_RESET_ACK from 0x05060708:32000
00 00 00 00 23 04 82 10 02
@@ -2392,11 +2588,19 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 10 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
Current NS-VCIs:
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 37
+ Bytes at NS Level (Out): 21
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 21
+ Bytes at NS Level (Out): 37
NS-VC Block count : 1
Gbproxy global:
@@ -2416,7 +2620,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 75 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 79
00 00 10 02 01 78 de ad 00 00 00 04 08 88 21 63 54 00 63 60 12 34 00 80 0e 00 34 01 c0 01 08 01 02 f5 e0 21 08 02 05 f4 fb c5 46 79 11 22 33 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 16 6d 01
-result (ATTACH REQUEST) = 79
+result (ATTACH REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2436,7 +2640,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 23 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 27
00 00 10 02 00 80 00 de ad 00 50 20 16 82 02 58 0e 89 41 c0 01 08 15 01 ff 6c ba
-result (IDENT REQUEST) = 27
+result (IDENT REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2457,7 +2661,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 40 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 44
00 00 10 02 01 78 de ad 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 11 01 c0 05 08 16 08 11 12 13 14 15 16 17 18 ad 05 28
-result (IDENT RESPONSE) = 44
+result (IDENT RESPONSE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2478,7 +2682,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 80 00 de ad 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 05 08 02 01 49 04 11 22 33 40 50 60 19 cd d7 08 17 16 18 05 f4 c0 de ad 01 0c 0a 29
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2502,7 +2706,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 08 01 c0 09 08 03 39 d7 bc
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2527,7 +2731,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 66 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 70
00 00 10 02 00 c0 de ad 01 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 88 41 c0 09 08 21 04 ba 3d
-result (GMM INFO) = 70
+result (GMM INFO) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2552,7 +2756,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 81 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 85
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 3a 01 c0 0d 0a 41 05 03 0c 00 00 1f 10 00 00 00 00 00 00 00 00 02 01 21 28 08 03 66 6f 6f 03 62 61 72 27 14 80 80 21 10 01 00 00 10 81 06 00 00 00 00 83 06 00 00 00 00 24 9d 75
-result (ACT PDP CTX REQ (REPLACE APN)) = 85
+result (ACT PDP CTX REQ (REPLACE APN)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2579,7 +2783,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 38 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 42
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 0f 41 fb 01 00 0e 00 64 11 05 16 01 90 66 b3 28
-result (XID (UL)) = 42
+result (XID (UL)) = 0
PROCESSING XID (DL) from 0x05060708:32000
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 8c 41 fb 30 84 10 61 b6 64 e4 a9 1a 9e
@@ -2591,7 +2795,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 70 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 74
00 00 10 02 00 c0 de ad 01 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 8c 41 fb 30 84 10 61 b6 64 e4 a9 1a 9e
-result (XID (DL)) = 74
+result (XID (DL)) = 0
PROCESSING LL11 DNS QUERY (UL) from 0x01020304:1111
00 00 10 02 01 c0 de ad 01 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 42 0b c0 01 65 00 00 00 45 00 00 38 95 72 00 00 45 11 20 85 0a c0 07 e4 ac 10 01 0a ad ab 00 35 00 24 0e 1c 3b e0 01 00 00 01 00 00 00 00 00 00 01 6d 05 68 65 69 73 65 02 64 65 00 00 01 00 01 47 8f 07
@@ -2603,7 +2807,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 89 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 93
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 42 0b c0 01 65 00 00 00 45 00 00 38 95 72 00 00 45 11 20 85 0a c0 07 e4 ac 10 01 0a ad ab 00 35 00 24 0e 1c 3b e0 01 00 00 01 00 00 00 00 00 00 01 6d 05 68 65 69 73 65 02 64 65 00 00 01 00 01 47 8f 07
-result (LL11 DNS QUERY (UL)) = 93
+result (LL11 DNS QUERY (UL)) = 0
PROCESSING LL11 DNS RESP (DL) from 0x05060708:32000
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 00 d0 4b c0 01 65 00 00 00 45 00 00 c6 00 00 40 00 3e 11 7c 69 ac 10 01 0a 0a c0 07 e4 00 35 ad ab 00 b2 74 4e 3b e0 81 80 00 01 00 01 00 05 00 00 01 6d 05 68 65 69 73 65 02 64 65 00 00 01 00 01 c0 0c 00 01 00 01 00 00 0e 10 00 04 c1 63 90 58 c0 0e 00 02 00 01 00 00 0e 10 00 16 03 6e 73 32 0c 70 6f 70 2d 68 61 6e 6e 6f 76 65 72 03 6e 65 74 00 c0 0e 00 02 00 01 00 00 0e 10 00 10 02 6e 73 01 73 08 70 6c 75 73 6c 69 6e 65 c0 14 c0 0e 00 02 00 01 00 00 0e 10 00 05 02 6e 73 c0 0e c0 0e 00 02 00 01 00 00 0e 10 00 05 02 6e 73 c0 5f c0 0e 00 02 00 01 00 00 0e 10 00 12 02 6e 73 0c 70 6f 70 2d 68 61 6e 6e 6f 76 65 72 c0 14 aa df 31
@@ -2615,7 +2819,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 267 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 271
00 00 10 02 00 c0 de ad 01 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 00 d0 4b c0 01 65 00 00 00 45 00 00 c6 00 00 40 00 3e 11 7c 69 ac 10 01 0a 0a c0 07 e4 00 35 ad ab 00 b2 74 4e 3b e0 81 80 00 01 00 01 00 05 00 00 01 6d 05 68 65 69 73 65 02 64 65 00 00 01 00 01 c0 0c 00 01 00 01 00 00 0e 10 00 04 c1 63 90 58 c0 0e 00 02 00 01 00 00 0e 10 00 16 03 6e 73 32 0c 70 6f 70 2d 68 61 6e 6e 6f 76 65 72 03 6e 65 74 00 c0 0e 00 02 00 01 00 00 0e 10 00 10 02 6e 73 01 73 08 70 6c 75 73 6c 69 6e 65 c0 14 c0 0e 00 02 00 01 00 00 0e 10 00 05 02 6e 73 c0 0e c0 0e 00 02 00 01 00 00 0e 10 00 05 02 6e 73 c0 5f c0 0e 00 02 00 01 00 00 0e 10 00 12 02 6e 73 0c 70 6f 70 2d 68 61 6e 6e 6f 76 65 72 c0 14 aa df 31
-result (LL11 DNS RESP (DL)) = 271
+result (LL11 DNS RESP (DL)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2642,7 +2846,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 85 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 89
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 70 80 00 80 0e 00 3e 01 c0 11 08 08 10 21 63 54 40 50 60 1d 19 13 42 33 57 2b f7 c8 48 02 13 48 50 c8 48 02 14 48 50 c8 48 02 17 49 10 c8 48 02 00 19 8b b2 92 17 16 27 07 04 31 02 e5 e0 32 02 20 00 69 a3 ae
-result (RA UPD REQ (P-TMSI 2)) = 89
+result (RA UPD REQ (P-TMSI 2)) = 0
PROCESSING RA UDP ACC (P-TMSI 2) from 0x05060708:32000
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9d 41 c0 0d 08 09 00 49 21 63 54 40 50 60 19 54 ab b3 18 05 f4 e0 98 76 54 17 16 9f e8 ea
@@ -2654,7 +2858,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 87 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 91
00 00 10 02 00 c0 de ad 01 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9d 41 c0 0d 08 09 00 49 11 22 33 40 50 60 19 54 ab b3 18 05 f4 c0 de ad 02 17 16 bb 4d a0
-result (RA UDP ACC (P-TMSI 2)) = 91
+result (RA UDP ACC (P-TMSI 2)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2683,7 +2887,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 85 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 89
00 00 10 02 01 e0 98 76 54 00 00 04 08 88 21 63 54 40 50 60 70 80 00 80 0e 00 3e 01 c0 15 08 08 10 21 63 54 40 50 60 1d 19 13 42 33 57 2b f7 c8 48 02 13 48 50 c8 48 02 14 48 50 c8 48 02 17 49 10 c8 48 02 00 19 8b b2 92 17 16 27 07 04 31 02 e5 e0 32 02 20 00 1d f0 41
-result (RA UPD REQ (P-TMSI 3)) = 89
+result (RA UPD REQ (P-TMSI 3)) = 0
PROCESSING RA UDP ACC (P-TMSI 3) from 0x05060708:32000
00 00 10 02 00 e0 98 76 54 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9d 41 c0 11 08 09 00 49 21 63 54 40 50 60 19 54 ab b3 18 05 f4 e0 54 32 10 17 16 1b a3 a8
@@ -2695,7 +2899,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 87 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 91
00 00 10 02 00 c0 de ad 02 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9d 41 c0 11 08 09 00 49 11 22 33 40 50 60 19 54 ab b3 18 05 f4 c0 de ad 03 17 16 6e 58 26
-result (RA UDP ACC (P-TMSI 3)) = 91
+result (RA UDP ACC (P-TMSI 3)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2724,7 +2928,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 e0 54 32 10 00 00 04 08 88 21 63 54 40 50 60 70 80 00 80 0e 00 08 01 c0 19 08 0a d5 5f 5e
-result (RA UPD COMPLETE) = 35
+result (RA UPD COMPLETE) = 0
PROCESSING GMM INFO from 0x05060708:32000
00 00 10 02 00 e0 54 32 10 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 88 41 c0 15 08 21 bb c1 c6
@@ -2736,7 +2940,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 66 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 70
00 00 10 02 00 c0 de ad 03 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 88 41 c0 15 08 21 bb c1 c6
-result (GMM INFO) = 70
+result (GMM INFO) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2766,7 +2970,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 19 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 23
00 00 00 00 2c 1f 84 e0 54 32 10 0f 81 01 04 82 10 02 25 83 00 00 0c
-result (LLC_DISCARDED) = 23
+result (LLC_DISCARDED) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2796,7 +3000,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 15 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 19
00 00 00 00 0b 1f 84 e0 54 32 10 1b 86 21 63 54 40 50 60
-result (BVC_SUSPEND) = 19
+result (BVC_SUSPEND) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2826,7 +3030,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 22
00 00 00 00 0c 1f 84 c0 de ad 03 1b 86 11 22 33 40 50 60 1d 81 01
-result (BVC_SUSPEND_ACK) = 22
+result (BVC_SUSPEND_ACK) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2856,7 +3060,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 34 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 38
00 00 00 00 06 0d 88 11 12 13 14 15 16 17 18 0a 82 07 04 1b 86 11 22 33 40 50 60 18 83 00 00 00 20 84 c0 de ad 03
-result (PAGING_PS) = 38
+result (PAGING_PS) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2886,7 +3090,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 19 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 23
00 00 00 00 2c 1f 84 e0 54 32 10 0f 81 01 04 82 ee e1 25 83 00 00 0c
-result (LLC_DISCARDED) = 23
+result (LLC_DISCARDED) = 0
Gbproxy global:
PROCESSING BVC_SUSPEND_ACK from 0x05060708:32000
@@ -2899,7 +3103,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 24 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 28
00 00 00 00 41 07 81 21 15 92 0c 1f 84 e0 54 32 10 1b 86 00 f1 99 00 63 60 1d 81 01
-result (BVC_SUSPEND_ACK) = 28
+result (BVC_SUSPEND_ACK) = 0
Gbproxy global:
Invalid Routing Area Identifier : 1
@@ -2914,7 +3118,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 22
00 00 00 00 0c 1f 84 c0 de ad 03 1b 86 11 22 33 40 50 60 1d 81 01
-result (BVC_SUSPEND_ACK) = 22
+result (BVC_SUSPEND_ACK) = 0
Gbproxy global:
Invalid Routing Area Identifier : 1
@@ -2929,7 +3133,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 58 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 62
00 00 10 02 00 ee ba db ad 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 00 83 00 00 00 0e 88 41 c0 09 08 21 04 ba 3d
-result (GMM INFO) = 62
+result (GMM INFO) = 0
PROCESSING GMM INFO from 0x05060708:32000
00 00 10 02 00 ee ba db ad 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 88 41 c0 0d 08 21 68 71 6b
@@ -2941,7 +3145,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 66 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 70
00 00 10 02 00 ee ba db ad 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 88 41 c0 0d 08 21 68 71 6b
-result (GMM INFO) = 70
+result (GMM INFO) = 0
PROCESSING DETACH REQ from 0x01020304:1111
00 00 10 02 01 c0 de ad 03 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 15 01 c0 1d 08 05 01 18 05 f4 ef e2 b7 00 19 03 b9 97 cb aa cc a3
@@ -2953,7 +3157,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 44 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 48
00 00 10 02 01 e0 54 32 10 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 15 01 c0 1d 08 05 01 18 05 f4 e0 54 32 10 19 03 b9 97 cb ea 6d af
-result (DETACH REQ) = 48
+result (DETACH REQ) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -2986,7 +3190,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 67 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 71
00 00 10 02 00 c0 de ad 03 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 89 41 c0 19 08 06 00 04 ff 52
-result (DETACH ACC) = 71
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3023,7 +3227,7 @@ PROCESSING RESET_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0a
-result (RESET_ACK) = 1
+result (RESET_ACK) = 0
PROCESSING ALIVE_ACK from 0x05060708:32000
0b
@@ -3031,7 +3235,7 @@ PROCESSING ALIVE_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
06
-result (ALIVE_ACK) = 1
+result (ALIVE_ACK) = 0
PROCESSING UNBLOCK_ACK from 0x05060708:32000
07
@@ -3046,7 +3250,7 @@ PROCESSING ALIVE from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
--- Initialise BSS 1 ---
@@ -3063,7 +3267,7 @@ MESSAGE to BSS at 0x01020304:1111, msg length 9
MESSAGE to BSS at 0x01020304:1111, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:1111
0a
@@ -3071,17 +3275,17 @@ PROCESSING ALIVE from 0x01020304:1111
MESSAGE to BSS at 0x01020304:1111, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
-
MESSAGE to BSS at 0x01020304:1111, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:1111
0b
@@ -3100,7 +3304,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 10 02 07 81 08 08 88 21 63 54 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
PROCESSING BVC_RESET_ACK from 0x05060708:32000
00 00 00 00 23 04 82 10 02
@@ -3112,11 +3316,19 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 10 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
Current NS-VCIs:
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 37
+ Bytes at NS Level (Out): 21
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 21
+ Bytes at NS Level (Out): 37
NS-VC Block count : 1
Gbproxy global:
@@ -3136,7 +3348,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 75 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 79
00 00 10 02 01 78 de ad 00 00 00 04 08 88 21 63 54 00 63 60 12 34 00 80 0e 00 34 01 c0 01 08 01 02 f5 e0 21 08 02 05 f4 fb c5 46 79 11 22 33 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 16 6d 01
-result (ATTACH REQUEST) = 79
+result (ATTACH REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3156,7 +3368,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 23 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 27
00 00 10 02 00 80 00 de ad 00 50 20 16 82 02 58 0e 89 41 c0 01 08 15 01 ff 6c ba
-result (IDENT REQUEST) = 27
+result (IDENT REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3177,7 +3389,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 40 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 44
00 00 10 02 01 78 de ad 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 11 01 c0 05 08 16 08 11 12 13 14 15 16 17 18 ad 05 28
-result (IDENT RESPONSE) = 44
+result (IDENT RESPONSE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3198,7 +3410,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 80 00 de ad 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 05 08 02 01 49 04 11 22 33 40 50 60 19 cd d7 08 17 16 18 05 f4 c0 de ad 01 0c 0a 29
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3222,7 +3434,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 80 00 de ad 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 09 08 02 01 49 04 11 22 33 40 50 60 19 cd d7 08 17 16 18 05 f4 c0 de ad 01 42 f6 fc
-result (ATTACH ACCEPT (duplicated)) = 92
+result (ATTACH ACCEPT (duplicated)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3246,7 +3458,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 08 01 c0 09 08 03 39 d7 bc
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3271,7 +3483,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 66 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 70
00 00 10 02 00 c0 de ad 01 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 88 41 c0 0d 08 21 68 71 6b
-result (GMM INFO) = 70
+result (GMM INFO) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3296,7 +3508,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 44 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 48
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 15 01 c0 0d 08 05 01 18 05 f4 ef e2 b7 00 19 03 b9 97 cb 37 67 c6
-result (DETACH REQ) = 48
+result (DETACH REQ) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3322,7 +3534,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 67 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 71
00 00 10 02 00 c0 de ad 01 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 89 41 c0 11 08 06 00 cf 8a 58
-result (DETACH ACC) = 71
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3350,7 +3562,7 @@ PROCESSING RESET_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0a
-result (RESET_ACK) = 1
+result (RESET_ACK) = 0
PROCESSING ALIVE_ACK from 0x05060708:32000
0b
@@ -3358,7 +3570,7 @@ PROCESSING ALIVE_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
06
-result (ALIVE_ACK) = 1
+result (ALIVE_ACK) = 0
PROCESSING UNBLOCK_ACK from 0x05060708:32000
07
@@ -3373,7 +3585,7 @@ PROCESSING ALIVE from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
--- Initialise BSS 1 ---
@@ -3390,7 +3602,7 @@ MESSAGE to BSS at 0x01020304:1111, msg length 9
MESSAGE to BSS at 0x01020304:1111, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:1111
0a
@@ -3398,17 +3610,17 @@ PROCESSING ALIVE from 0x01020304:1111
MESSAGE to BSS at 0x01020304:1111, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
-
MESSAGE to BSS at 0x01020304:1111, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:1111
0b
@@ -3427,7 +3639,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 10 02 07 81 08 08 88 21 63 54 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
PROCESSING BVC_RESET_ACK from 0x05060708:32000
00 00 00 00 23 04 82 10 02
@@ -3439,11 +3651,19 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 10 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
Current NS-VCIs:
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 37
+ Bytes at NS Level (Out): 21
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 21
+ Bytes at NS Level (Out): 37
NS-VC Block count : 1
Gbproxy global:
@@ -3502,7 +3722,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 23 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 27
00 00 10 02 00 80 00 de ad 00 50 20 16 82 02 58 0e 89 41 c0 01 08 15 01 ff 6c ba
-result (IDENT REQUEST) = 27
+result (IDENT REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3523,7 +3743,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 40 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 44
00 00 10 02 01 78 de ad 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 11 01 c0 09 08 16 08 11 12 13 14 15 16 17 18 ba 14 c3
-result (IDENT RESPONSE) = 44
+result (IDENT RESPONSE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3544,7 +3764,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 80 00 de ad 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 05 08 02 01 49 04 11 22 33 40 50 60 19 cd d7 08 17 16 18 05 f4 c0 de ad 01 0c 0a 29
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3568,7 +3788,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 08 01 c0 0d 08 03 55 1c ea
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3593,7 +3813,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 66 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 70
00 00 10 02 00 c0 de ad 01 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 88 41 c0 09 08 21 04 ba 3d
-result (GMM INFO) = 70
+result (GMM INFO) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3618,7 +3838,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 38 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 42
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 0f 41 fb 01 00 0e 00 64 11 05 16 01 90 66 b3 28
-result (XID (UL)) = 42
+result (XID (UL)) = 0
PROCESSING XID (DL) from 0x05060708:32000
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 8c 41 fb 30 84 10 61 b6 64 e4 a9 1a 9e
@@ -3630,7 +3850,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 70 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 74
00 00 10 02 00 c0 de ad 01 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 8c 41 fb 30 84 10 61 b6 64 e4 a9 1a 9e
-result (XID (DL)) = 74
+result (XID (DL)) = 0
PROCESSING LL11 DNS QUERY (UL) from 0x01020304:1111
00 00 10 02 01 c0 de ad 01 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 42 0b c0 01 65 00 00 00 45 00 00 38 95 72 00 00 45 11 20 85 0a c0 07 e4 ac 10 01 0a ad ab 00 35 00 24 0e 1c 3b e0 01 00 00 01 00 00 00 00 00 00 01 6d 05 68 65 69 73 65 02 64 65 00 00 01 00 01 47 8f 07
@@ -3642,7 +3862,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 89 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 93
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 42 0b c0 01 65 00 00 00 45 00 00 38 95 72 00 00 45 11 20 85 0a c0 07 e4 ac 10 01 0a ad ab 00 35 00 24 0e 1c 3b e0 01 00 00 01 00 00 00 00 00 00 01 6d 05 68 65 69 73 65 02 64 65 00 00 01 00 01 47 8f 07
-result (LL11 DNS QUERY (UL)) = 93
+result (LL11 DNS QUERY (UL)) = 0
PROCESSING LL11 DNS RESP (DL) from 0x05060708:32000
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 00 d0 4b c0 01 65 00 00 00 45 00 00 c6 00 00 40 00 3e 11 7c 69 ac 10 01 0a 0a c0 07 e4 00 35 ad ab 00 b2 74 4e 3b e0 81 80 00 01 00 01 00 05 00 00 01 6d 05 68 65 69 73 65 02 64 65 00 00 01 00 01 c0 0c 00 01 00 01 00 00 0e 10 00 04 c1 63 90 58 c0 0e 00 02 00 01 00 00 0e 10 00 16 03 6e 73 32 0c 70 6f 70 2d 68 61 6e 6e 6f 76 65 72 03 6e 65 74 00 c0 0e 00 02 00 01 00 00 0e 10 00 10 02 6e 73 01 73 08 70 6c 75 73 6c 69 6e 65 c0 14 c0 0e 00 02 00 01 00 00 0e 10 00 05 02 6e 73 c0 0e c0 0e 00 02 00 01 00 00 0e 10 00 05 02 6e 73 c0 5f c0 0e 00 02 00 01 00 00 0e 10 00 12 02 6e 73 0c 70 6f 70 2d 68 61 6e 6e 6f 76 65 72 c0 14 aa df 31
@@ -3654,7 +3874,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 267 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 271
00 00 10 02 00 c0 de ad 01 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 00 d0 4b c0 01 65 00 00 00 45 00 00 c6 00 00 40 00 3e 11 7c 69 ac 10 01 0a 0a c0 07 e4 00 35 ad ab 00 b2 74 4e 3b e0 81 80 00 01 00 01 00 05 00 00 01 6d 05 68 65 69 73 65 02 64 65 00 00 01 00 01 c0 0c 00 01 00 01 00 00 0e 10 00 04 c1 63 90 58 c0 0e 00 02 00 01 00 00 0e 10 00 16 03 6e 73 32 0c 70 6f 70 2d 68 61 6e 6e 6f 76 65 72 03 6e 65 74 00 c0 0e 00 02 00 01 00 00 0e 10 00 10 02 6e 73 01 73 08 70 6c 75 73 6c 69 6e 65 c0 14 c0 0e 00 02 00 01 00 00 0e 10 00 05 02 6e 73 c0 0e c0 0e 00 02 00 01 00 00 0e 10 00 05 02 6e 73 c0 5f c0 0e 00 02 00 01 00 00 0e 10 00 12 02 6e 73 0c 70 6f 70 2d 68 61 6e 6e 6f 76 65 72 c0 14 aa df 31
-result (LL11 DNS RESP (DL)) = 271
+result (LL11 DNS RESP (DL)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3679,7 +3899,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 19 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 23
00 00 00 00 2c 1f 84 ef e2 b7 00 0f 81 01 04 82 10 02 25 83 00 00 0c
-result (LLC_DISCARDED) = 23
+result (LLC_DISCARDED) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3704,7 +3924,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 25 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 29
00 00 00 00 41 07 81 27 15 93 2c 1f 84 ef e2 b7 00 0f 81 01 04 82 10 02 25 83 00 00 0c
-result (LLC_DISCARDED) = 29
+result (LLC_DISCARDED) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3729,7 +3949,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 15 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 19
00 00 00 00 0b 1f 84 ef e2 b7 00 1b 86 21 63 54 40 50 60
-result (BVC_SUSPEND) = 19
+result (BVC_SUSPEND) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3754,7 +3974,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 22
00 00 00 00 0c 1f 84 c0 de ad 01 1b 86 11 22 33 40 50 60 1d 81 01
-result (BVC_SUSPEND_ACK) = 22
+result (BVC_SUSPEND_ACK) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3779,7 +3999,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 19 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 23
00 00 00 00 2c 1f 84 ef e2 b7 00 0f 81 01 04 82 ee e1 25 83 00 00 0c
-result (LLC_DISCARDED) = 23
+result (LLC_DISCARDED) = 0
Gbproxy global:
BSSGP protocol error (SGSN): 1
@@ -3793,7 +4013,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 24 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 28
00 00 00 00 41 07 81 21 15 92 0c 1f 84 ef e2 b7 00 1b 86 00 f1 99 00 63 60 1d 81 01
-result (BVC_SUSPEND_ACK) = 28
+result (BVC_SUSPEND_ACK) = 0
Gbproxy global:
Invalid Routing Area Identifier : 1
@@ -3809,7 +4029,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 22
00 00 00 00 0c 1f 84 c0 de ad 01 1b 86 11 22 33 40 50 60 1d 81 01
-result (BVC_SUSPEND_ACK) = 22
+result (BVC_SUSPEND_ACK) = 0
Gbproxy global:
Invalid Routing Area Identifier : 1
@@ -3825,7 +4045,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 44 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 48
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 15 01 c0 11 08 05 01 18 05 f4 ef e2 b7 00 19 03 b9 97 cb 6d b1 de
-result (DETACH REQ) = 48
+result (DETACH REQ) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3851,7 +4071,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 67 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 71
00 00 10 02 00 c0 de ad 01 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 89 41 c0 0d 08 06 00 aa ab ee
-result (DETACH ACC) = 71
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3916,7 +4136,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 87 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 91
00 00 10 02 00 80 00 de ad 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9d 41 c0 11 08 09 00 49 11 22 33 40 50 60 19 54 ab b3 18 05 f4 c0 de ad 03 17 16 6e 58 26
-result (RA UDP ACC) = 91
+result (RA UDP ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -3974,7 +4194,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 67 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 71
00 00 10 02 00 c0 de ad 03 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 89 41 c0 15 08 06 00 f7 35 f0
-result (DETACH ACC) = 71
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -4136,7 +4356,7 @@ PROCESSING RESET_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0a
-result (RESET_ACK) = 1
+result (RESET_ACK) = 0
PROCESSING ALIVE_ACK from 0x05060708:32000
0b
@@ -4144,7 +4364,7 @@ PROCESSING ALIVE_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
06
-result (ALIVE_ACK) = 1
+result (ALIVE_ACK) = 0
PROCESSING UNBLOCK_ACK from 0x05060708:32000
07
@@ -4159,7 +4379,7 @@ PROCESSING ALIVE from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
--- Initialise SGSN 2 ---
@@ -4172,7 +4392,7 @@ PROCESSING RESET_ACK from 0x15161718:32001
MESSAGE to SGSN 2 at 0x15161718:32001, msg length 1
0a
-result (RESET_ACK) = 1
+result (RESET_ACK) = 0
PROCESSING ALIVE_ACK from 0x15161718:32001
0b
@@ -4180,7 +4400,7 @@ PROCESSING ALIVE_ACK from 0x15161718:32001
MESSAGE to SGSN 2 at 0x15161718:32001, msg length 1
06
-result (ALIVE_ACK) = 1
+result (ALIVE_ACK) = 0
PROCESSING UNBLOCK_ACK from 0x15161718:32001
07
@@ -4195,7 +4415,7 @@ PROCESSING ALIVE from 0x15161718:32001
MESSAGE to SGSN 2 at 0x15161718:32001, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
--- Initialise BSS 1 ---
@@ -4212,7 +4432,7 @@ MESSAGE to BSS at 0x01020304:1111, msg length 9
MESSAGE to BSS at 0x01020304:1111, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:1111
0a
@@ -4220,17 +4440,17 @@ PROCESSING ALIVE from 0x01020304:1111
MESSAGE to BSS at 0x01020304:1111, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
-
MESSAGE to BSS at 0x01020304:1111, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:1111
0b
@@ -4249,7 +4469,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 00 00
-result (BVC_RESET) = 9
+result (BVC_RESET) = 0
PROCESSING BVC_RESET_ACK from 0x05060708:32000
00 00 00 00 23 04 82 00 00
@@ -4275,7 +4495,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 10 02 07 81 08 08 88 21 63 54 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
PROCESSING BVC_RESET_ACK from 0x05060708:32000
00 00 00 00 23 04 82 10 02
@@ -4287,7 +4507,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 10 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
PROCESSING BVC_RESET_ACK from 0x15161718:32001
00 00 00 00 23 04 82 10 02
@@ -4295,13 +4515,25 @@ PROCESSING BVC_RESET_ACK from 0x15161718:32001
CALLBACK, event 0, msg length 5, bvci 0x0000
00 00 00 00 23 04 82 10 02
-result (BVC_RESET_ACK) = 1
+result (BVC_RESET_ACK) = 0
Current NS-VCIs:
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
+ Packets at NS Level ( In): 6
+ Packets at NS Level (Out): 6
+ Bytes at NS Level ( In): 59
+ Bytes at NS Level (Out): 30
VCI 0x0103, NSEI 0x0102, peer 0x15161718:32001
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 21
+ Bytes at NS Level (Out): 37
NS-VC Block count : 1
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 6
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 30
+ Bytes at NS Level (Out): 37
NS-VC Block count : 1
Gbproxy global:
@@ -4327,7 +4559,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 24 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 28
00 00 10 02 26 1e 81 01 05 82 01 dc 03 82 02 76 01 82 00 50 1c 82 02 58 06 82 00 03
-result (FLOW_CONTROL_BVC) = 28
+result (FLOW_CONTROL_BVC) = 0
PROCESSING FLOW_CONTROL_BVC_ACK from 0x05060708:32000
00 00 10 02 27 1e 81 01
@@ -4339,7 +4571,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 4 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 8
00 00 10 02 27 1e 81 01
-result (FLOW_CONTROL_BVC_ACK) = 8
+result (FLOW_CONTROL_BVC_ACK) = 0
PROCESSING FLOW_CONTROL_BVC_ACK from 0x15161718:32001
00 00 10 02 27 1e 81 01
@@ -4400,7 +4632,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 23 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 27
00 00 10 02 00 80 00 de ad 00 50 20 16 82 02 58 0e 89 41 c0 01 08 15 01 ff 6c ba
-result (IDENT REQUEST) = 27
+result (IDENT REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -4421,7 +4653,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 40 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 44
00 00 10 02 01 78 de ad 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 11 01 c0 09 08 16 08 11 12 13 14 15 16 17 18 ba 14 c3
-result (IDENT RESPONSE) = 44
+result (IDENT RESPONSE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -4442,7 +4674,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 80 00 de ad 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 05 08 02 01 49 04 11 22 33 40 50 60 19 cd d7 08 17 16 18 05 f4 c0 de ad 01 0c 0a 29
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -4466,7 +4698,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 08 01 c0 0d 08 03 55 1c ea
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -4491,7 +4723,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 66 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 70
00 00 10 02 00 c0 de ad 01 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 88 41 c0 09 08 21 04 ba 3d
-result (GMM INFO) = 70
+result (GMM INFO) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -4516,7 +4748,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 38 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 42
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 0f 41 fb 01 00 0e 00 64 11 05 16 01 90 66 b3 28
-result (XID (UL)) = 42
+result (XID (UL)) = 0
PROCESSING XID (DL) from 0x05060708:32000
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 8c 41 fb 30 84 10 61 b6 64 e4 a9 1a 9e
@@ -4528,7 +4760,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 70 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 74
00 00 10 02 00 c0 de ad 01 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 8c 41 fb 30 84 10 61 b6 64 e4 a9 1a 9e
-result (XID (DL)) = 74
+result (XID (DL)) = 0
PROCESSING LL11 DNS QUERY (UL) from 0x01020304:1111
00 00 10 02 01 c0 de ad 01 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 42 0b c0 01 65 00 00 00 45 00 00 38 95 72 00 00 45 11 20 85 0a c0 07 e4 ac 10 01 0a ad ab 00 35 00 24 0e 1c 3b e0 01 00 00 01 00 00 00 00 00 00 01 6d 05 68 65 69 73 65 02 64 65 00 00 01 00 01 47 8f 07
@@ -4540,7 +4772,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 89 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 93
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 42 0b c0 01 65 00 00 00 45 00 00 38 95 72 00 00 45 11 20 85 0a c0 07 e4 ac 10 01 0a ad ab 00 35 00 24 0e 1c 3b e0 01 00 00 01 00 00 00 00 00 00 01 6d 05 68 65 69 73 65 02 64 65 00 00 01 00 01 47 8f 07
-result (LL11 DNS QUERY (UL)) = 93
+result (LL11 DNS QUERY (UL)) = 0
PROCESSING LL11 DNS RESP (DL) from 0x05060708:32000
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 00 d0 4b c0 01 65 00 00 00 45 00 00 c6 00 00 40 00 3e 11 7c 69 ac 10 01 0a 0a c0 07 e4 00 35 ad ab 00 b2 74 4e 3b e0 81 80 00 01 00 01 00 05 00 00 01 6d 05 68 65 69 73 65 02 64 65 00 00 01 00 01 c0 0c 00 01 00 01 00 00 0e 10 00 04 c1 63 90 58 c0 0e 00 02 00 01 00 00 0e 10 00 16 03 6e 73 32 0c 70 6f 70 2d 68 61 6e 6e 6f 76 65 72 03 6e 65 74 00 c0 0e 00 02 00 01 00 00 0e 10 00 10 02 6e 73 01 73 08 70 6c 75 73 6c 69 6e 65 c0 14 c0 0e 00 02 00 01 00 00 0e 10 00 05 02 6e 73 c0 0e c0 0e 00 02 00 01 00 00 0e 10 00 05 02 6e 73 c0 5f c0 0e 00 02 00 01 00 00 0e 10 00 12 02 6e 73 0c 70 6f 70 2d 68 61 6e 6e 6f 76 65 72 c0 14 aa df 31
@@ -4552,7 +4784,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 267 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 271
00 00 10 02 00 c0 de ad 01 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 00 d0 4b c0 01 65 00 00 00 45 00 00 c6 00 00 40 00 3e 11 7c 69 ac 10 01 0a 0a c0 07 e4 00 35 ad ab 00 b2 74 4e 3b e0 81 80 00 01 00 01 00 05 00 00 01 6d 05 68 65 69 73 65 02 64 65 00 00 01 00 01 c0 0c 00 01 00 01 00 00 0e 10 00 04 c1 63 90 58 c0 0e 00 02 00 01 00 00 0e 10 00 16 03 6e 73 32 0c 70 6f 70 2d 68 61 6e 6e 6f 76 65 72 03 6e 65 74 00 c0 0e 00 02 00 01 00 00 0e 10 00 10 02 6e 73 01 73 08 70 6c 75 73 6c 69 6e 65 c0 14 c0 0e 00 02 00 01 00 00 0e 10 00 05 02 6e 73 c0 0e c0 0e 00 02 00 01 00 00 0e 10 00 05 02 6e 73 c0 5f c0 0e 00 02 00 01 00 00 0e 10 00 12 02 6e 73 0c 70 6f 70 2d 68 61 6e 6e 6f 76 65 72 c0 14 aa df 31
-result (LL11 DNS RESP (DL)) = 271
+result (LL11 DNS RESP (DL)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -4577,7 +4809,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 19 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 23
00 00 00 00 2c 1f 84 ef e2 b7 00 0f 81 01 04 82 10 02 25 83 00 00 0c
-result (LLC_DISCARDED) = 23
+result (LLC_DISCARDED) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -4602,7 +4834,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 25 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 29
00 00 00 00 41 07 81 27 15 93 2c 1f 84 ef e2 b7 00 0f 81 01 04 82 10 02 25 83 00 00 0c
-result (LLC_DISCARDED) = 29
+result (LLC_DISCARDED) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -4627,7 +4859,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 15 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 19
00 00 00 00 0b 1f 84 ef e2 b7 00 1b 86 21 63 54 40 50 60
-result (BVC_SUSPEND) = 19
+result (BVC_SUSPEND) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -4652,7 +4884,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 22
00 00 00 00 0c 1f 84 c0 de ad 01 1b 86 11 22 33 40 50 60 1d 81 01
-result (BVC_SUSPEND_ACK) = 22
+result (BVC_SUSPEND_ACK) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -4731,7 +4963,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 23 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 27
00 00 10 02 00 80 00 be ef 00 50 20 16 82 02 58 0e 89 41 c0 0d 08 15 01 0c a6 18
-result (IDENT REQUEST) = 27
+result (IDENT REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -4783,7 +5015,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 80 00 be ef 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 99 99 99 16 17 18 00 81 00 0e 9e 41 c0 11 08 02 01 49 04 11 22 33 40 50 60 19 cd d7 08 17 16 18 05 f4 c0 de ad 03 32 40 fa
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -4835,7 +5067,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 66 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 70
00 00 10 02 00 c0 de ad 03 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 99 99 99 16 17 18 00 81 00 0e 88 41 c0 15 08 21 bb c1 c6
-result (GMM INFO) = 70
+result (GMM INFO) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -4873,7 +5105,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 70 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 74
00 00 10 02 00 c0 de ad 03 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 99 99 99 16 17 18 00 81 00 0e 8c 41 fb 30 84 10 61 b6 64 e4 a9 1a 9e
-result (XID (DL)) = 74
+result (XID (DL)) = 0
PROCESSING LL11 DNS QUERY (UL) from 0x01020304:1111
00 00 10 02 01 c0 de ad 03 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 42 0b c0 01 65 00 00 00 45 00 00 38 95 72 00 00 45 11 20 85 0a c0 07 e4 ac 10 01 0a ad ab 00 35 00 24 0e 1c 3b e0 01 00 00 01 00 00 00 00 00 00 01 6d 05 68 65 69 73 65 02 64 65 00 00 01 00 01 47 8f 07
@@ -4897,7 +5129,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 267 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 271
00 00 10 02 00 c0 de ad 03 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 99 99 99 16 17 18 00 81 00 0e 00 d0 4b c0 01 65 00 00 00 45 00 00 c6 00 00 40 00 3e 11 7c 69 ac 10 01 0a 0a c0 07 e4 00 35 ad ab 00 b2 74 4e 3b e0 81 80 00 01 00 01 00 05 00 00 01 6d 05 68 65 69 73 65 02 64 65 00 00 01 00 01 c0 0c 00 01 00 01 00 00 0e 10 00 04 c1 63 90 58 c0 0e 00 02 00 01 00 00 0e 10 00 16 03 6e 73 32 0c 70 6f 70 2d 68 61 6e 6e 6f 76 65 72 03 6e 65 74 00 c0 0e 00 02 00 01 00 00 0e 10 00 10 02 6e 73 01 73 08 70 6c 75 73 6c 69 6e 65 c0 14 c0 0e 00 02 00 01 00 00 0e 10 00 05 02 6e 73 c0 0e c0 0e 00 02 00 01 00 00 0e 10 00 05 02 6e 73 c0 5f c0 0e 00 02 00 01 00 00 0e 10 00 12 02 6e 73 0c 70 6f 70 2d 68 61 6e 6e 6f 76 65 72 c0 14 aa df 31
-result (LL11 DNS RESP (DL)) = 271
+result (LL11 DNS RESP (DL)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -4949,7 +5181,7 @@ NS UNITDATA MESSAGE to SGSN 2, BVCI 0x0000, msg length 25 (gprs_ns_sendmsg)
MESSAGE to SGSN 2 at 0x15161718:32001, msg length 29
00 00 00 00 41 07 81 27 15 93 2c 1f 84 e0 98 76 54 0f 81 01 04 82 10 02 25 83 00 00 0c
-result (LLC_DISCARDED) = 29
+result (LLC_DISCARDED) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5001,7 +5233,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 22
00 00 00 00 0c 1f 84 c0 de ad 03 1b 86 11 22 33 40 50 60 1d 81 01
-result (BVC_SUSPEND_ACK) = 22
+result (BVC_SUSPEND_ACK) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5083,7 +5315,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 23 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 27
00 00 10 02 00 80 00 fe ed 00 50 20 16 82 02 58 0e 89 41 c0 19 08 15 01 a2 f2 a4
-result (IDENT REQUEST) = 27
+result (IDENT REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5137,7 +5369,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 80 00 fe ed 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 99 99 99 26 27 28 00 81 00 0e 9e 41 c0 1d 08 02 01 49 04 11 22 33 40 50 60 19 cd d7 08 17 16 18 05 f4 c0 de ad 05 3e 78 6e
-result (ATTACH ACCEPT (P-TMSI 1)) = 92
+result (ATTACH ACCEPT (P-TMSI 1)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5191,7 +5423,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 66 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 70
00 00 10 02 00 c0 de ad 05 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 99 99 99 26 27 28 00 81 00 0e 88 41 c0 21 08 21 ca 60 90
-result (GMM INFO) = 70
+result (GMM INFO) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5220,7 +5452,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 44 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 48
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 12 34 00 80 0e 00 15 01 c0 31 08 05 01 18 05 f4 ef e2 b7 00 19 03 b9 97 cb 57 e6 15
-result (DETACH REQ) = 48
+result (DETACH REQ) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5248,7 +5480,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 67 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 71
00 00 10 02 00 c0 de ad 01 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 89 41 c0 25 08 06 00 4d 09 cd
-result (DETACH ACC) = 71
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5307,7 +5539,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 67 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 71
00 00 10 02 00 c0 de ad 03 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 99 99 99 16 17 18 00 81 00 0e 89 41 c0 29 08 06 00 be c3 6f
-result (DETACH ACC) = 71
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5365,7 +5597,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 67 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 71
00 00 10 02 00 c0 de ad 05 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 99 99 99 26 27 28 00 81 00 0e 89 41 c0 2d 08 06 00 86 7c c7
-result (DETACH ACC) = 71
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5397,7 +5629,7 @@ PROCESSING RESET_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0a
-result (RESET_ACK) = 1
+result (RESET_ACK) = 0
PROCESSING ALIVE_ACK from 0x05060708:32000
0b
@@ -5405,7 +5637,7 @@ PROCESSING ALIVE_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
06
-result (ALIVE_ACK) = 1
+result (ALIVE_ACK) = 0
PROCESSING UNBLOCK_ACK from 0x05060708:32000
07
@@ -5420,7 +5652,7 @@ PROCESSING ALIVE from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
--- Initialise BSS 1 ---
@@ -5437,7 +5669,7 @@ MESSAGE to BSS at 0x01020304:1111, msg length 9
MESSAGE to BSS at 0x01020304:1111, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:1111
0a
@@ -5445,17 +5677,17 @@ PROCESSING ALIVE from 0x01020304:1111
MESSAGE to BSS at 0x01020304:1111, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
-
MESSAGE to BSS at 0x01020304:1111, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:1111
0b
@@ -5474,7 +5706,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 10 02 07 81 08 08 88 11 22 33 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
PROCESSING BVC_RESET_ACK from 0x05060708:32000
00 00 00 00 23 04 82 10 02
@@ -5486,11 +5718,19 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 10 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
Current NS-VCIs:
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 37
+ Bytes at NS Level (Out): 21
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 21
+ Bytes at NS Level (Out): 37
NS-VC Block count : 1
Gbproxy global:
@@ -5545,7 +5785,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 23 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 27
00 00 10 02 00 af e2 b7 00 00 50 20 16 82 02 58 0e 89 41 c0 01 08 15 01 ff 6c ba
-result (IDENT REQUEST) = 27
+result (IDENT REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5563,7 +5803,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 40 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 44
00 00 10 02 01 af e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 11 01 c0 09 08 16 08 11 12 13 14 15 16 17 18 ba 14 c3
-result (IDENT RESPONSE) = 44
+result (IDENT RESPONSE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5581,7 +5821,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 af e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 05 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 ef e2 b7 00 53 62 f1
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5600,7 +5840,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 0d 08 03 55 1c ea
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5620,7 +5860,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 66 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 70
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 88 41 c0 09 08 21 04 ba 3d
-result (GMM INFO) = 70
+result (GMM INFO) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5640,7 +5880,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 44 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 48
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 15 01 c0 11 08 05 01 18 05 f4 ef e2 b7 00 19 03 b9 97 cb 6d b1 de
-result (DETACH REQ) = 48
+result (DETACH REQ) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5661,7 +5901,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 67 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 71
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 89 41 c0 0d 08 06 00 aa ab ee
-result (DETACH ACC) = 71
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5683,7 +5923,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 75 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 79
00 00 10 02 01 af e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 34 01 c0 15 08 01 02 f5 e0 21 08 02 05 f4 ef e2 b7 00 11 22 33 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 e6 71 c7
-result (ATTACH REQUEST) = 79
+result (ATTACH REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5705,7 +5945,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 af e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 11 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 ef e2 b7 00 3a 6d d4
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5727,7 +5967,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 19 08 03 32 f1 bc
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5749,7 +5989,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 69 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 73
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 8b 41 c0 15 08 05 01 25 0a 67 0e 96
-result (DETACH REQ (re-attach)) = 73
+result (DETACH REQ (re-attach)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5771,7 +6011,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 1d 08 06 3d 1c 8b
-result (DETACH ACC) = 35
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5793,7 +6033,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 75 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 79
00 00 10 02 01 af e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 34 01 c0 21 08 01 02 f5 e0 21 08 02 05 f4 ef e2 b7 00 11 22 33 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 44 db cc
-result (ATTACH REQUEST) = 79
+result (ATTACH REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5815,7 +6055,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 af e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 19 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 ef e2 b7 00 27 3c 84
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5837,7 +6077,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 25 08 03 9b c6 47
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5859,7 +6099,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 69 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 73
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 8b 41 c0 1d 08 05 02 25 0a dd 56 6c
-result (DETACH REQ) = 73
+result (DETACH REQ) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5881,7 +6121,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 29 08 06 4c bd dd
-result (DETACH ACC) = 35
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5903,7 +6143,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 78 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 82
00 00 10 02 01 af e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 37 01 c0 2d 08 01 02 f5 e0 21 08 02 08 11 12 13 14 15 16 17 18 11 22 33 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 a5 85 76
-result (ATTACH REQUEST (IMSI)) = 82
+result (ATTACH REQUEST (IMSI)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5925,7 +6165,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 af e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 21 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 ef e2 b7 00 cf 80 6e
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5947,7 +6187,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 31 08 03 fc 2b 11
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5969,7 +6209,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 69 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 73
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 8b 41 c0 25 08 05 02 25 0a 8e ee 85
-result (DETACH REQ) = 73
+result (DETACH REQ) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -5991,7 +6231,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 35 08 06 f3 c6 26
-result (DETACH ACC) = 35
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6013,7 +6253,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 75 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 79
00 00 10 02 01 af e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 34 01 c0 39 08 01 02 f5 e0 21 08 02 05 f4 ef e2 b7 00 11 22 33 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 e4 85 12
-result (ATTACH REQUEST) = 79
+result (ATTACH REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6035,7 +6275,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 af e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 29 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 ef e2 b7 00 d2 d1 3e
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6057,7 +6297,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 3d 08 03 48 76 ea
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6079,7 +6319,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 85 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 89
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 70 80 00 80 0e 00 3e 01 c0 41 08 08 10 11 22 33 40 50 60 1d 19 13 42 33 57 2b f7 c8 48 02 13 48 50 c8 48 02 14 48 50 c8 48 02 17 49 10 c8 48 02 00 19 8b b2 92 17 16 27 07 04 31 02 e5 e0 32 02 20 00 30 73 32
-result (RA UPD REQ) = 89
+result (RA UPD REQ) = 0
PROCESSING RA UDP REJ from 0x05060708:32000
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 8a 41 c0 2d 08 0b 0a 00 41 30 a7
@@ -6091,7 +6331,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 68 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 72
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 8a 41 c0 2d 08 0b 0a 00 41 30 a7
-result (RA UDP REJ) = 72
+result (RA UDP REJ) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6164,7 +6404,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 af e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 31 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 ef e2 b7 00 f5 22 ce
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6188,7 +6428,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 4d 08 03 79 84 ea
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6212,7 +6452,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 69 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 73
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 8b 41 c0 35 08 05 02 25 0a 9b fa 57
-result (DETACH REQ) = 73
+result (DETACH REQ) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6236,7 +6476,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 51 08 06 a5 d9 70
-result (DETACH ACC) = 35
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6260,7 +6500,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 75 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 79
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 34 01 c0 55 08 01 02 f5 e0 21 08 02 05 f4 ef e2 b7 00 11 22 33 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 f9 cc e9
-result (ATTACH REQUEST (local TLLI)) = 79
+result (ATTACH REQUEST (local TLLI)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6284,7 +6524,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 39 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 ef e2 b7 00 e8 73 9e
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6308,7 +6548,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 59 08 03 1e 69 bc
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6332,7 +6572,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 69 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 73
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 8b 41 c0 3d 08 05 01 25 0a 21 a2 ad
-result (DETACH REQ (re-attach)) = 73
+result (DETACH REQ (re-attach)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6356,7 +6596,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 5d 08 06 11 84 8b
-result (DETACH ACC) = 35
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6380,7 +6620,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 75 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 79
00 00 10 02 01 af e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 34 01 c0 61 08 01 02 f5 e0 21 08 02 05 f4 ef e2 b7 00 11 22 33 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 5b 66 e2
-result (ATTACH REQUEST) = 79
+result (ATTACH REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6404,7 +6644,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 af e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 41 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 ef e2 b7 00 9e 50 40
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6428,7 +6668,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 65 08 03 b7 5e 47
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6452,7 +6692,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 66 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 70
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 88 41 c0 45 08 21 9c 7f c6
-result (GMM INFO) = 70
+result (GMM INFO) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6476,7 +6716,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 78 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 82
00 00 10 02 01 af e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 37 01 c0 69 08 01 02 f5 e0 21 08 02 08 11 12 13 14 15 16 17 18 11 22 33 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 e1 11 8e
-result (ATTACH REQUEST (unexpected, IMSI)) = 82
+result (ATTACH REQUEST (unexpected, IMSI)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6500,7 +6740,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 af e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 49 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 ef e2 b7 00 83 01 10
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6524,7 +6764,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 6d 08 03 6f c8 ea
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6548,7 +6788,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 69 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 73
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 8b 41 c0 4d 08 05 02 25 0a 51 0e 1b
-result (DETACH REQ) = 73
+result (DETACH REQ) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6572,7 +6812,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 71 08 06 b3 95 70
-result (DETACH ACC) = 35
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6596,7 +6836,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 75 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 79
00 00 10 02 01 af e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 34 01 c0 75 08 01 02 f5 e0 21 08 02 05 f4 ef e2 b7 00 11 22 33 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 ab 17 53
-result (ATTACH REQUEST) = 79
+result (ATTACH REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6620,7 +6860,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 af e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 51 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 ef e2 b7 00 a4 f2 e0
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6644,7 +6884,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 79 08 03 08 25 bc
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6668,7 +6908,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 66 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 70
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 88 41 c0 55 08 21 97 59 c6
-result (GMM INFO) = 70
+result (GMM INFO) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6692,7 +6932,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 75 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 79
00 00 10 02 01 af e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 34 01 c0 7d 08 01 02 f5 e0 21 08 02 05 f4 ef e2 b7 00 11 22 33 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 a2 24 d0
-result (ATTACH REQUEST (unexpected)) = 79
+result (ATTACH REQUEST (unexpected)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6716,7 +6956,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 92
00 00 10 02 00 af e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9e 41 c0 59 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 ef e2 b7 00 b9 a3 b0
-result (ATTACH ACCEPT) = 92
+result (ATTACH ACCEPT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6740,7 +6980,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 81 08 03 b9 71 10
-result (ATTACH COMPLETE) = 35
+result (ATTACH COMPLETE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6764,7 +7004,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 69 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 73
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 8b 41 c0 5d 08 05 02 25 0a 44 1a c9
-result (DETACH REQ) = 73
+result (DETACH REQ) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6788,7 +7028,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 85 08 06 b6 9c 27
-result (DETACH ACC) = 35
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6860,7 +7100,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 67 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 71
00 00 10 02 00 af e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 89 41 c0 61 08 04 07 79 ba a5
-result (ATTACH REJECT) = 71
+result (ATTACH REJECT) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6958,7 +7198,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 69 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 73
00 00 10 02 00 af e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 8b 41 c0 65 08 05 02 25 0a 17 a2 20
-result (DETACH REQ (MT)) = 73
+result (DETACH REQ (MT)) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -6987,7 +7227,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 31 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 35
00 00 10 02 01 af e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 08 01 c0 9d 08 06 65 2c 8a
-result (DETACH ACC) = 35
+result (DETACH ACC) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
@@ -7009,7 +7249,7 @@ Test TLLI replacement:
Add TLLI 1, IMSI 1
Add TLLI 2, IMSI 1 (should replace TLLI 1)
Peers:
- NSEI 0, BVCI 20, not blocked, RAI 0-0-0-0
+ NSEI 0, BVCI 20, not blocked, RAI 000-000-0-0
TLLI cache size : 1
TLLI-Cache: 1
TLLI c000162e, IMSI 03242526, AGE 0, IMSI matches
@@ -7018,7 +7258,7 @@ Test IMSI replacement:
Add TLLI 1, IMSI 1
Add TLLI 1, IMSI 2 (should replace IMSI 1)
Peers:
- NSEI 0, BVCI 20, not blocked, RAI 0-0-0-0
+ NSEI 0, BVCI 20, not blocked, RAI 000-000-0-0
TLLI cache size : 1
TLLI-Cache: 1
TLLI c00004d2, IMSI 06272829, AGE 0, IMSI matches
@@ -7027,7 +7267,7 @@ Test TLLI expiry, max_len == 1:
Add TLLI 1, IMSI 1
Add TLLI 2, IMSI 2 (should replace IMSI 1)
Peers:
- NSEI 0, BVCI 20, not blocked, RAI 0-0-0-0
+ NSEI 0, BVCI 20, not blocked, RAI 000-000-0-0
TLLI cache size : 1
TLLI-Cache: 1
TLLI c000162e, IMSI 06272829, AGE 0, IMSI matches
@@ -7036,7 +7276,7 @@ Test TLLI expiry, max_age == 1:
Add TLLI 1, IMSI 1 (should expire after timeout)
Add TLLI 2, IMSI 2 (should not expire after timeout)
Peers:
- NSEI 0, BVCI 20, not blocked, RAI 0-0-0-0
+ NSEI 0, BVCI 20, not blocked, RAI 000-000-0-0
TLLI cache size : 1
TLLI-Cache: 1
TLLI c000162e, IMSI 06272829, AGE 1, IMSI matches
@@ -7046,7 +7286,7 @@ Test TLLI expiry, max_len == 2, max_age == 1:
Add TLLI 2, IMSI 2 (should expire after timeout)
Add TLLI 3, IMSI 3 (should not expire after timeout)
Peers:
- NSEI 0, BVCI 20, not blocked, RAI 0-0-0-0
+ NSEI 0, BVCI 20, not blocked, RAI 000-000-0-0
TLLI cache size : 3
TLLI-Cache: 3
TLLI c0000d80, IMSI 12345678, AGE 0, IMSI matches
@@ -7054,7 +7294,7 @@ Test TLLI expiry, max_len == 2, max_age == 1:
TLLI c00004d2, IMSI 03242526, AGE 2, IMSI matches
Remove stale TLLIs
Peers:
- NSEI 0, BVCI 20, not blocked, RAI 0-0-0-0
+ NSEI 0, BVCI 20, not blocked, RAI 000-000-0-0
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0000d80, IMSI 12345678, AGE 0, IMSI matches
@@ -7071,7 +7311,7 @@ PROCESSING RESET_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0a
-result (RESET_ACK) = 1
+result (RESET_ACK) = 0
PROCESSING ALIVE_ACK from 0x05060708:32000
0b
@@ -7079,7 +7319,7 @@ PROCESSING ALIVE_ACK from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
06
-result (ALIVE_ACK) = 1
+result (ALIVE_ACK) = 0
PROCESSING UNBLOCK_ACK from 0x05060708:32000
07
@@ -7094,7 +7334,7 @@ PROCESSING ALIVE from 0x05060708:32000
MESSAGE to SGSN at 0x05060708:32000, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
--- Initialise BSS 1 ---
@@ -7111,7 +7351,7 @@ MESSAGE to BSS at 0x01020304:1111, msg length 9
MESSAGE to BSS at 0x01020304:1111, msg length 1
0a
-result (RESET) = 9
+result (RESET) = 0
PROCESSING ALIVE from 0x01020304:1111
0a
@@ -7119,17 +7359,17 @@ PROCESSING ALIVE from 0x01020304:1111
MESSAGE to BSS at 0x01020304:1111, msg length 1
0b
-result (ALIVE) = 1
+result (ALIVE) = 0
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
-
MESSAGE to BSS at 0x01020304:1111, msg length 1
07
-result (UNBLOCK) = 1
+==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
+
+result (UNBLOCK) = 0
PROCESSING ALIVE_ACK from 0x01020304:1111
0b
@@ -7148,7 +7388,7 @@ NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 18 (gprs_ns_sendmsg)
MESSAGE to SGSN at 0x05060708:32000, msg length 22
00 00 00 00 22 04 82 10 02 07 81 08 08 88 11 22 33 40 50 60 10 00
-result (BVC_RESET) = 22
+result (BVC_RESET) = 0
PROCESSING BVC_RESET_ACK from 0x05060708:32000
00 00 00 00 23 04 82 10 02
@@ -7160,11 +7400,19 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 9
00 00 00 00 23 04 82 10 02
-result (BVC_RESET_ACK) = 9
+result (BVC_RESET_ACK) = 0
Current NS-VCIs:
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 37
+ Bytes at NS Level (Out): 21
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
+ Packets at NS Level ( In): 5
+ Packets at NS Level (Out): 5
+ Bytes at NS Level ( In): 21
+ Bytes at NS Level (Out): 37
NS-VC Block count : 1
Gbproxy global:
@@ -7201,7 +7449,7 @@ NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 23 (gprs_ns_sendmsg)
MESSAGE to BSS at 0x01020304:1111, msg length 27
00 00 10 02 00 80 00 de ad 00 50 20 16 82 02 58 0e 89 41 c0 01 08 15 01 ff 6c ba
-result (IDENT REQUEST) = 27
+result (IDENT REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
diff --git a/tests/gprs/gprs_test.c b/tests/gprs/gprs_test.c
index aac9bb896..99e3ea519 100644
--- a/tests/gprs/gprs_test.c
+++ b/tests/gprs/gprs_test.c
@@ -2,10 +2,10 @@
#include <stdlib.h>
#include <inttypes.h>
-#include <openbsc/gprs_llc.h>
-#include <openbsc/gprs_utils.h>
+#include <osmocom/sgsn/gprs_llc.h>
+#include <osmocom/sgsn/gprs_utils.h>
-#include <openbsc/debug.h>
+#include <osmocom/sgsn/debug.h>
#include <osmocom/core/application.h>
#include <osmocom/gsm/gsup.h>
@@ -130,7 +130,8 @@ static struct log_info info = {
int main(int argc, char **argv)
{
- osmo_init_logging(&info);
+ void *ctx = talloc_named_const(NULL, 0, "gprs_test");
+ osmo_init_logging2(ctx, &info);
test_8_4_2();
test_gprs_timer_enc_dec();
diff --git a/tests/gtphub/Makefile.am b/tests/gtphub/Makefile.am
index f2a6b888e..fea01e0d1 100644
--- a/tests/gtphub/Makefile.am
+++ b/tests/gtphub/Makefile.am
@@ -16,13 +16,9 @@ EXTRA_DIST = \
gtphub_test.ok \
$(NULL)
-if HAVE_LIBGTP
-if HAVE_LIBCARES
noinst_PROGRAMS = \
gtphub_test \
$(NULL)
-endif
-endif
gtphub_test_SOURCES = \
gtphub_test.c \
@@ -35,7 +31,7 @@ gtphub_test_LDFLAGS = \
$(NULL)
gtphub_test_LDADD = \
- $(top_builddir)/src/gprs/gtphub.o \
+ $(top_builddir)/src/gtphub/gtphub.o \
$(top_builddir)/src/gprs/gprs_utils.o \
$(LIBOSMOCORE_LIBS) \
$(LIBOSMOGSM_LIBS) \
diff --git a/tests/gtphub/gtphub_test.c b/tests/gtphub/gtphub_test.c
index e7c27d2cb..ed4617624 100644
--- a/tests/gtphub/gtphub_test.c
+++ b/tests/gtphub/gtphub_test.c
@@ -28,9 +28,9 @@
#include <osmocom/core/utils.h>
#include <osmocom/core/application.h>
-#include <openbsc/debug.h>
+#include <osmocom/sgsn/debug.h>
-#include <openbsc/gtphub.h>
+#include <osmocom/sgsn/gtphub.h>
#include <gtp.h>
#include <gtpie.h>
@@ -54,7 +54,7 @@
void gtphub_init(struct gtphub *hub);
void gtphub_free(struct gtphub *hub);
-void *osmo_gtphub_ctx;
+extern void *osmo_gtphub_ctx;
static void nr_mapping_free(struct expiring_item *e)
{
@@ -1762,8 +1762,9 @@ static struct log_info info = {
int main(int argc, char **argv)
{
- osmo_init_logging(&info);
osmo_gtphub_ctx = talloc_named_const(NULL, 0, "osmo_gtphub");
+ void *log_ctx = talloc_named_const(osmo_gtphub_ctx, 0, "log");
+ osmo_init_logging2(log_ctx, &info);
test_nr_map_basic();
test_nr_map_wrap();
@@ -1780,7 +1781,9 @@ int main(int argc, char **argv)
printf("Done\n");
talloc_report_full(osmo_gtphub_ctx, stderr);
+ talloc_free(log_ctx);
OSMO_ASSERT(talloc_total_blocks(osmo_gtphub_ctx) == 1);
+ talloc_free(osmo_gtphub_ctx);
return 0;
}
diff --git a/tests/oap/Makefile.am b/tests/oap/Makefile.am
deleted file mode 100644
index 5f8bbc5c2..000000000
--- a/tests/oap/Makefile.am
+++ /dev/null
@@ -1,36 +0,0 @@
-AM_CPPFLAGS = \
- $(all_includes) \
- -I$(top_srcdir)/include \
- $(NULL)
-
-AM_CFLAGS = \
- -Wall \
- -ggdb3 \
- $(LIBOSMOCORE_CFLAGS) \
- $(LIBOSMOGSM_CFLAGS) \
- $(NULL)
-
-EXTRA_DIST = \
- oap_client_test.ok \
- oap_client_test.err \
- $(NULL)
-
-if HAVE_LIBGTP
-if HAVE_LIBCARES
-noinst_PROGRAMS = \
- oap_client_test \
- $(NULL)
-endif
-endif
-
-oap_client_test_SOURCES = \
- oap_client_test.c \
- $(NULL)
-
-oap_client_test_LDADD = \
- $(top_builddir)/src/gprs/gprs_utils.o \
- $(top_builddir)/src/gprs/oap_client.o \
- $(LIBOSMOCORE_LIBS) \
- $(LIBOSMOGSM_LIBS) \
- -lrt
-
diff --git a/tests/oap/oap_client_test.c b/tests/oap/oap_client_test.c
deleted file mode 100644
index e6501cb6d..000000000
--- a/tests/oap/oap_client_test.c
+++ /dev/null
@@ -1,270 +0,0 @@
-/* Test Osmocom Authentication Protocol */
-/*
- * (C) 2015 by sysmocom s.f.m.c. GmbH
- * All Rights Reserved
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include <osmocom/core/application.h>
-#include <osmocom/gsm/oap.h>
-
-#include <openbsc/debug.h>
-#include <openbsc/oap_client.h>
-
-#include <stdio.h>
-#include <string.h>
-
-static void test_oap_api(void)
-{
- printf("Testing OAP API\n");
-
- struct oap_client_config _config;
- struct oap_client_config *config = &_config;
-
- struct oap_client_state _state;
- struct oap_client_state *state = &_state;
-
- struct osmo_oap_message oap_rx;
- struct msgb *msg_rx;
-
- struct osmo_oap_message oap_tx;
- struct msgb *msg_tx;
-
- memset(config, 0, sizeof(*config));
- memset(state, 0, sizeof(*state));
-
- OSMO_ASSERT(osmo_hexparse("0102030405060708090a0b0c0d0e0f10", config->secret_k, 16) == 16);
- OSMO_ASSERT(osmo_hexparse("1112131415161718191a1b1c1d1e1f20", config->secret_opc, 16) == 16);
-
- fprintf(stderr, "- make sure filling with zeros means uninitialized\n");
- OSMO_ASSERT(state->state == OAP_UNINITIALIZED);
-
- fprintf(stderr, "- reject messages in uninitialized state\n");
- memset(&oap_rx, 0, sizeof(oap_rx));
- state->client_id = 1;
- oap_rx.message_type = OAP_MSGT_REGISTER_ERROR;
- msg_rx = oap_client_encoded(&oap_rx);
- OSMO_ASSERT(oap_client_handle(state, msg_rx, &msg_tx) < 0);
- OSMO_ASSERT(state->state == OAP_UNINITIALIZED);
- msgb_free(msg_rx);
- OSMO_ASSERT(!msg_tx);
-
- fprintf(stderr, "- NULL config should disable\n");
- OSMO_ASSERT( oap_client_init(NULL, state) == 0 );
- OSMO_ASSERT(state->state == OAP_DISABLED);
-
- fprintf(stderr, "- reject messages in disabled state\n");
- memset(state, 0, sizeof(*state));
- memset(&oap_rx, 0, sizeof(oap_rx));
- state->state = OAP_DISABLED;
- state->client_id = 1;
- oap_rx.message_type = OAP_MSGT_REGISTER_ERROR;
- msg_rx = oap_client_encoded(&oap_rx);
- OSMO_ASSERT(oap_client_handle(state, msg_rx, &msg_tx) < 0);
- OSMO_ASSERT(state->state == OAP_DISABLED);
- msgb_free(msg_rx);
- OSMO_ASSERT(!msg_tx);
-
- fprintf(stderr, "- invalid client_id and shared secret\n");
- memset(state, 0, sizeof(*state));
- config->client_id = 0;
- config->secret_k_present = 0;
- config->secret_opc_present = 0;
- OSMO_ASSERT( oap_client_init(config, state) == 0 );
- OSMO_ASSERT(state->state == OAP_DISABLED);
-
- fprintf(stderr, "- reset state\n");
- memset(state, 0, sizeof(*state));
-
- fprintf(stderr, "- only client_id is invalid\n");
- config->client_id = 0;
- config->secret_k_present = 1;
- config->secret_opc_present = 1;
- OSMO_ASSERT( oap_client_init(config, state) == 0 );
- OSMO_ASSERT(state->state == OAP_DISABLED);
-
- memset(state, 0, sizeof(*state));
-
- fprintf(stderr, "- valid id, but omitted shared_secret (1/2)\n");
- config->client_id = 12345;
- config->secret_k_present = 0;
- config->secret_opc_present = 1;
- OSMO_ASSERT( oap_client_init(config, state) == 0 );
- OSMO_ASSERT(state->state == OAP_DISABLED);
-
- memset(state, 0, sizeof(*state));
-
- fprintf(stderr, "- valid id, but omitted shared_secret (2/2)\n");
- config->client_id = 12345;
- config->secret_k_present = 1;
- config->secret_opc_present = 0;
- OSMO_ASSERT( oap_client_init(config, state) == 0 );
- OSMO_ASSERT(state->state == OAP_DISABLED);
-
- memset(state, 0, sizeof(*state));
-
-
- fprintf(stderr, "- mint configuration\n");
- config->client_id = 12345;
- config->secret_k_present = 1;
- config->secret_opc_present = 1;
- /*config->secret_* buffers are still set from the top */
- OSMO_ASSERT( oap_client_init(config, state) == 0 );
- OSMO_ASSERT(state->state == OAP_INITIALIZED);
-
-
- fprintf(stderr, "- Missing challenge data\n");
- memset(&oap_rx, 0, sizeof(oap_rx));
- oap_rx.message_type = OAP_MSGT_CHALLENGE_REQUEST;
- oap_rx.rand_present = 0;
- oap_rx.autn_present = 0;
- msg_rx = oap_client_encoded(&oap_rx);
- OSMO_ASSERT(oap_client_handle(state, msg_rx, &msg_tx) == -2);
- msgb_free(msg_rx);
- OSMO_ASSERT(!msg_tx);
-
- fprintf(stderr, "- AUTN missing\n");
- osmo_hexparse("0102030405060708090a0b0c0d0e0f10",
- oap_rx.rand, 16);
- oap_rx.rand_present = 1;
- msg_rx = oap_client_encoded(&oap_rx);
- OSMO_ASSERT(oap_client_handle(state, msg_rx, &msg_tx) == -2);
- msgb_free(msg_rx);
- OSMO_ASSERT(!msg_tx);
-
- fprintf(stderr, "- RAND missing\n");
- oap_rx.rand_present = 0;
- osmo_hexparse("cec4e3848a33000086781158ca40f136",
- oap_rx.autn, 16);
- oap_rx.autn_present = 1;
- msg_rx = oap_client_encoded(&oap_rx);
- OSMO_ASSERT(oap_client_handle(state, msg_rx, &msg_tx) == -2);
- msgb_free(msg_rx);
- OSMO_ASSERT(!msg_tx);
-
- fprintf(stderr, "- wrong autn (by one bit)\n");
- osmo_hexparse("0102030405060708090a0b0c0d0e0f10",
- oap_rx.rand, 16);
- osmo_hexparse("dec4e3848a33000086781158ca40f136",
- oap_rx.autn, 16);
- oap_rx.rand_present = 1;
- oap_rx.autn_present = 1;
- msg_rx = oap_client_encoded(&oap_rx);
- OSMO_ASSERT(oap_client_handle(state, msg_rx, &msg_tx) == -2);
- msgb_free(msg_rx);
- OSMO_ASSERT(!msg_tx);
-
- fprintf(stderr, "- all data correct\n");
- osmo_hexparse("cec4e3848a33000086781158ca40f136",
- oap_rx.autn, 16);
- msg_rx = oap_client_encoded(&oap_rx);
-
- fprintf(stderr, "- but refuse to evaluate in uninitialized state\n");
- OSMO_ASSERT(state->state == OAP_INITIALIZED);
-
- state->state = OAP_UNINITIALIZED;
- OSMO_ASSERT(oap_client_handle(state, msg_rx, &msg_tx) < 0);
- OSMO_ASSERT(!msg_tx);
-
- state->state = OAP_DISABLED;
- OSMO_ASSERT(oap_client_handle(state, msg_rx, &msg_tx) < 0);
- OSMO_ASSERT(!msg_tx);
-
- state->state = OAP_INITIALIZED;
-
- fprintf(stderr, "- now everything is correct\n");
- /* a successful return value here indicates correct autn */
- OSMO_ASSERT(oap_client_handle(state, msg_rx, &msg_tx) == 0);
- msgb_free(msg_rx);
-
- fprintf(stderr, "- Expect the challenge response in msg_tx\n");
- OSMO_ASSERT(msg_tx);
- OSMO_ASSERT(osmo_oap_decode(&oap_tx, msg_tx->data, msg_tx->len) == 0);
- OSMO_ASSERT(oap_tx.message_type == OAP_MSGT_CHALLENGE_RESULT);
- OSMO_ASSERT(strcmp("e2d05b598c61d9ba",
- osmo_hexdump_nospc(oap_tx.xres, sizeof(oap_tx.xres)))
- == 0);
- OSMO_ASSERT(state->state == OAP_SENT_CHALLENGE_RESULT);
- msgb_free(msg_tx);
- msg_tx = 0;
-
- struct oap_client_state saved_state = _state;
-
- fprintf(stderr, "- Receive registration error for the first time.\n");
-
- memset(&oap_rx, 0, sizeof(oap_rx));
- oap_rx.message_type = OAP_MSGT_REGISTER_ERROR;
- oap_rx.cause = GMM_CAUSE_PROTO_ERR_UNSPEC;
- msg_rx = oap_client_encoded(&oap_rx);
-
- OSMO_ASSERT(state->registration_failures == 0);
- OSMO_ASSERT(oap_client_handle(state, msg_rx, &msg_tx) == 0);
- OSMO_ASSERT(state->registration_failures == 1);
- OSMO_ASSERT(msg_tx);
- OSMO_ASSERT(osmo_oap_decode(&oap_tx, msg_tx->data, msg_tx->len) == 0);
- OSMO_ASSERT(oap_tx.message_type == OAP_MSGT_REGISTER_REQUEST);
- OSMO_ASSERT(state->state == OAP_REQUESTED_CHALLENGE);
- msgb_free(msg_tx);
- msg_tx = 0;
-
- fprintf(stderr, "- Receive registration error for the Nth time.\n");
- state->registration_failures = 999;
- OSMO_ASSERT(oap_client_handle(state, msg_rx, &msg_tx) == -11);
- OSMO_ASSERT(!msg_tx);
- OSMO_ASSERT(state->state == OAP_INITIALIZED);
- msgb_free(msg_tx);
- msg_tx = 0;
-
- msgb_free(msg_rx);
-
- fprintf(stderr, "- Registration success\n");
-
- _state = saved_state;
- memset(&oap_rx, 0, sizeof(oap_rx));
- oap_rx.message_type = OAP_MSGT_REGISTER_RESULT;
- msg_rx = oap_client_encoded(&oap_rx);
- OSMO_ASSERT(oap_client_handle(state, msg_rx, &msg_tx) == 0);
- OSMO_ASSERT(!msg_tx);
- OSMO_ASSERT(state->state == OAP_REGISTERED);
- msgb_free(msg_rx);
-}
-
-static struct log_info_cat oap_client_test_categories[] = {
-};
-
-static struct log_info info = {
- .cat = oap_client_test_categories,
- .num_cat = ARRAY_SIZE(oap_client_test_categories),
-};
-
-int main(int argc, char **argv)
-{
- msgb_talloc_ctx_init(NULL, 0);
- osmo_init_logging(&info);
-
- OSMO_ASSERT(osmo_stderr_target);
- log_set_use_color(osmo_stderr_target, 0);
- log_set_print_timestamp(osmo_stderr_target, 0);
- log_set_print_filename(osmo_stderr_target, 0);
- log_set_print_category(osmo_stderr_target, 1);
- log_parse_category_mask(osmo_stderr_target, "DLOAP,1");
-
- test_oap_api();
- printf("Done\n");
-
- return 0;
-}
-
diff --git a/tests/oap/oap_client_test.err b/tests/oap/oap_client_test.err
deleted file mode 100644
index 62ddc9efa..000000000
--- a/tests/oap/oap_client_test.err
+++ /dev/null
@@ -1,35 +0,0 @@
-- make sure filling with zeros means uninitialized
-- reject messages in uninitialized state
-DLOAP Received OAP message 5, but the OAP client is not initialized
-- NULL config should disable
-- reject messages in disabled state
-DLOAP Received OAP message 5, but the OAP client is disabled
-- invalid client_id and shared secret
-- reset state
-- only client_id is invalid
-- valid id, but omitted shared_secret (1/2)
-DLOAP OAP: client ID set, but secret K missing.
-- valid id, but omitted shared_secret (2/2)
-DLOAP OAP: client ID set, but secret OPC missing.
-- mint configuration
-- Missing challenge data
-DLOAP OAP challenge incomplete (rand_present: 0, autn_present: 0)
-- AUTN missing
-DLOAP OAP challenge incomplete (rand_present: 1, autn_present: 0)
-- RAND missing
-DLOAP OAP challenge incomplete (rand_present: 0, autn_present: 1)
-- wrong autn (by one bit)
-DLOAP OAP: AUTN mismatch!
-DLOAP OAP: AUTN from server: dec4e3848a33000086781158ca40f136
-DLOAP OAP: AUTN expected: cec4e3848a33000086781158ca40f136
-- all data correct
-- but refuse to evaluate in uninitialized state
-DLOAP Received OAP message 8, but the OAP client is not initialized
-DLOAP Received OAP message 8, but the OAP client is disabled
-- now everything is correct
-- Expect the challenge response in msg_tx
-- Receive registration error for the first time.
-DLOAP OAP registration failed
-- Receive registration error for the Nth time.
-DLOAP OAP registration failed
-- Registration success
diff --git a/tests/oap/oap_client_test.ok b/tests/oap/oap_client_test.ok
deleted file mode 100644
index 59108a792..000000000
--- a/tests/oap/oap_client_test.ok
+++ /dev/null
@@ -1,2 +0,0 @@
-Testing OAP API
-Done
diff --git a/tests/sgsn/Makefile.am b/tests/sgsn/Makefile.am
index 36026dd56..b72c44634 100644
--- a/tests/sgsn/Makefile.am
+++ b/tests/sgsn/Makefile.am
@@ -9,7 +9,9 @@ AM_CFLAGS = \
$(LIBOSMOCORE_CFLAGS) \
$(LIBOSMOABIS_CFLAGS) \
$(LIBOSMOGSM_CFLAGS) \
+ $(LIBOSMOGSUPCLIENT_CFLAGS) \
$(LIBCARES_CFLAGS) \
+ $(LIBGTP_CFLAGS) \
$(NULL)
if BUILD_IU
AM_CFLAGS += \
@@ -32,42 +34,45 @@ sgsn_test_SOURCES = \
$(NULL)
sgsn_test_LDFLAGS = \
- -Wl,--wrap=RAND_bytes \
+ -Wl,--wrap=osmo_get_rand_id \
-Wl,--wrap=sgsn_update_subscriber_data \
-Wl,--wrap=gprs_subscr_request_update_location \
-Wl,--wrap=gprs_subscr_request_auth_info \
- -Wl,--wrap=gsup_client_send \
+ -Wl,--wrap=osmo_gsup_client_send \
$(NULL)
sgsn_test_LDADD = \
+ $(top_builddir)/src/sgsn/gprs_llc.o \
+ $(top_builddir)/src/sgsn/gprs_gb.o \
+ $(top_builddir)/src/sgsn/gprs_sndcp.o \
+ $(top_builddir)/src/sgsn/gprs_gmm_attach.o \
+ $(top_builddir)/src/sgsn/gprs_gmm.o \
+ $(top_builddir)/src/sgsn/gprs_gmm_fsm.o \
+ $(top_builddir)/src/sgsn/gprs_mm_state_gb_fsm.o \
+ $(top_builddir)/src/sgsn/gprs_sgsn.o \
+ $(top_builddir)/src/sgsn/sgsn_vty.o \
+ $(top_builddir)/src/sgsn/sgsn_libgtp.o \
+ $(top_builddir)/src/sgsn/sgsn_auth.o \
+ $(top_builddir)/src/sgsn/gprs_subscriber.o \
+ $(top_builddir)/src/sgsn/gprs_llc_xid.o \
+ $(top_builddir)/src/sgsn/gprs_sndcp_xid.o \
+ $(top_builddir)/src/sgsn/slhc.o \
+ $(top_builddir)/src/sgsn/gprs_sm.o \
+ $(top_builddir)/src/sgsn/gprs_sndcp_comp.o \
+ $(top_builddir)/src/sgsn/gprs_sndcp_pcomp.o \
+ $(top_builddir)/src/sgsn/v42bis.o \
+ $(top_builddir)/src/sgsn/gprs_sndcp_dcomp.o \
+ $(top_builddir)/src/gprs/gprs_utils.o \
$(top_builddir)/src/gprs/gprs_llc_parse.o \
- $(top_builddir)/src/gprs/gprs_llc.o \
+ $(top_builddir)/src/gprs/gprs_gb_parse.o \
$(top_builddir)/src/gprs/crc24.o \
- $(top_builddir)/src/gprs/gprs_sndcp.o \
- $(top_builddir)/src/gprs/gprs_gmm.o \
- $(top_builddir)/src/gprs/gprs_sgsn.o \
- $(top_builddir)/src/gprs/sgsn_vty.o \
- $(top_builddir)/src/gprs/sgsn_libgtp.o \
- $(top_builddir)/src/gprs/sgsn_auth.o \
$(top_builddir)/src/gprs/sgsn_ares.o \
- $(top_builddir)/src/gprs/gprs_utils.o \
- $(top_builddir)/src/gprs/gprs_subscriber.o \
- $(top_builddir)/src/gprs/gprs_gb_parse.o \
- $(top_builddir)/src/gprs/gprs_llc_xid.o \
- $(top_builddir)/src/gprs/gprs_sndcp_xid.o \
- $(top_builddir)/src/gprs/slhc.o \
- $(top_builddir)/src/gprs/gprs_sndcp_comp.o \
- $(top_builddir)/src/gprs/gprs_sndcp_pcomp.o \
- $(top_builddir)/src/gprs/v42bis.o \
- $(top_builddir)/src/gprs/gprs_sndcp_dcomp.o \
- $(top_builddir)/src/gprs/gsup_client.o \
- $(top_builddir)/src/gprs/oap_client.o \
$(LIBOSMOABIS_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(LIBOSMOGSM_LIBS) \
$(LIBOSMOGB_LIBS) \
+ $(LIBOSMOGSUPCLIENT_LIBS) \
$(LIBCARES_LIBS) \
- $(LIBCRYPTO_LIBS) \
$(LIBGTP_LIBS) \
-lrt \
-lm \
@@ -75,6 +80,8 @@ sgsn_test_LDADD = \
if BUILD_IU
sgsn_test_LDADD += \
+ $(top_builddir)/src/sgsn/gprs_ranap.o \
+ $(top_builddir)/src/sgsn/gprs_mm_state_iu_fsm.o \
$(LIBOSMORANAP_LIBS) \
$(LIBOSMOSIGTRAN_LIBS) \
$(LIBASN1C_LIBS) \
diff --git a/tests/sgsn/sgsn_test.c b/tests/sgsn/sgsn_test.c
index d66c5dd84..7399573fc 100644
--- a/tests/sgsn/sgsn_test.c
+++ b/tests/sgsn/sgsn_test.c
@@ -19,15 +19,16 @@
*
*/
-#include <openbsc/gprs_llc.h>
-#include <openbsc/sgsn.h>
-#include <openbsc/gprs_gmm.h>
-#include <openbsc/debug.h>
-#include <openbsc/gprs_subscriber.h>
+#include <osmocom/sgsn/gprs_llc.h>
+#include <osmocom/sgsn/sgsn.h>
+#include <osmocom/sgsn/gprs_gmm.h>
+#include <osmocom/sgsn/debug.h>
+#include <osmocom/sgsn/gprs_subscriber.h>
#include <osmocom/gsm/gsup.h>
-#include <openbsc/gsup_client.h>
-#include <openbsc/gprs_utils.h>
-#include <openbsc/gprs_gb_parse.h>
+#include <osmocom/gsupclient/gsup_client.h>
+#include <osmocom/sgsn/gprs_utils.h>
+#include <osmocom/sgsn/gprs_gb_parse.h>
+#include <osmocom/sgsn/gprs_gmm_fsm.h>
#include <osmocom/gprs/gprs_bssgp.h>
@@ -37,10 +38,11 @@
#include <osmocom/core/msgb.h>
#include <osmocom/core/rate_ctr.h>
#include <osmocom/core/utils.h>
+#include <osmocom/vty/vty.h>
#include <stdio.h>
-void *tall_bsc_ctx;
+void *tall_sgsn_ctx;
static struct sgsn_instance sgsn_inst = {
.config_file = "osmo_sgsn.cfg",
.cfg = {
@@ -100,21 +102,21 @@ int bssgp_tx_dl_ud(struct msgb *msg, uint16_t pdu_lifetime,
return 0;
}
-/* override, requires '-Wl,--wrap=RAND_bytes' */
-int __real_RAND_bytes(unsigned char *buf, int num);
-int mock_RAND_bytes(unsigned char *buf, int num);
-int (*RAND_bytes_cb)(unsigned char *, int) =
- &mock_RAND_bytes;
+/* override, requires '-Wl,--wrap=osmo_get_rand_id' */
+int __real_osmo_get_rand_id(uint8_t *data, size_t len);
+int mock_osmo_get_rand_id(uint8_t *data, size_t len);
+int (*osmo_get_rand_id_cb)(uint8_t *, size_t) =
+ &mock_osmo_get_rand_id;
-int __wrap_RAND_bytes(unsigned char *buf, int num)
+int __wrap_osmo_get_rand_id(uint8_t *buf, size_t num)
{
- return (*RAND_bytes_cb)(buf, num);
+ return (*osmo_get_rand_id_cb)(buf, num);
}
/* make results of A&C ref predictable */
-int mock_RAND_bytes(unsigned char *buf, int num)
+int mock_osmo_get_rand_id(uint8_t *buf, size_t num)
{
if (num > 1)
- return __real_RAND_bytes(buf, num);
+ return __real_osmo_get_rand_id(buf, num);
buf[0] = 0;
return 1;
}
@@ -148,13 +150,13 @@ int __wrap_gprs_subscr_request_auth_info(struct sgsn_mm_ctx *mmctx, const uint8_
};
/* override, requires '-Wl,--wrap=gsup_client_send' */
-int __real_gsup_client_send(struct gsup_client *gsupc, struct msgb *msg);
-int (*gsup_client_send_cb)(struct gsup_client *gsupc, struct msgb *msg) =
- &__real_gsup_client_send;
+int __real_osmo_gsup_client_send(struct osmo_gsup_client *gsupc, struct msgb *msg);
+int (*osmo_gsup_client_send_cb)(struct osmo_gsup_client *gsupc, struct msgb *msg) =
+ &__real_osmo_gsup_client_send;
-int __wrap_gsup_client_send(struct gsup_client *gsupc, struct msgb *msg)
+int __wrap_osmo_gsup_client_send(struct osmo_gsup_client *gsupc, struct msgb *msg)
{
- return (*gsup_client_send_cb)(gsupc, msg);
+ return (*osmo_gsup_client_send_cb)(gsupc, msg);
};
static int count(struct llist_head *head)
@@ -165,7 +167,7 @@ static int count(struct llist_head *head)
llist_for_each(cur, head)
count += 1;
- return count;
+ return count;
}
static struct msgb *create_msg(const uint8_t *data, size_t len)
@@ -191,7 +193,6 @@ static struct sgsn_mm_ctx *alloc_mm_ctx(uint32_t tlli, struct gprs_ra_id *raid)
lle = gprs_lle_get_or_create(tlli, 3);
ctx = sgsn_mm_ctx_alloc_gb(tlli, raid);
- ctx->gmm_state = GMM_REGISTERED_NORMAL;
ctx->gb.llme = lle->llme;
ictx = sgsn_mm_ctx_by_tlli(tlli, raid);
@@ -729,7 +730,7 @@ static void test_subscriber_gsup(void)
cleanup_test();
}
-int my_gsup_client_send_dummy(struct gsup_client *gsupc, struct msgb *msg)
+int my_gsup_client_send_dummy(struct osmo_gsup_client *gsupc, struct msgb *msg)
{
msgb_free(msg);
return 0;
@@ -925,167 +926,8 @@ static void test_gmm_status_no_mmctx(void)
cleanup_test();
}
-/*
- * Test the GMM Attach procedure
- */
-static void test_gmm_attach(int retry)
+int my_subscr_request_update_location(struct sgsn_mm_ctx *mmctx)
{
- struct gprs_ra_id raid = { 0, };
- struct sgsn_mm_ctx *ctx = NULL;
- struct sgsn_mm_ctx *ictx;
- uint32_t ptmsi1;
- uint32_t foreign_tlli;
- uint32_t local_tlli = 0;
- struct gprs_llc_lle *lle;
-
- /* DTAP - Attach Request */
- /* The P-TMSI is not known by the SGSN */
- static const unsigned char attach_req[] = {
- 0x08, 0x01, 0x02, 0xf5, 0xe0, 0x21, 0x08, 0x02, 0x05, 0xf4,
- 0xfb, 0xc5, 0x46, 0x79, 0x11, 0x22, 0x33, 0x40, 0x50, 0x60,
- 0x19, 0x18, 0xb3, 0x43, 0x2b, 0x25, 0x96, 0x62, 0x00, 0x60,
- 0x80, 0x9a, 0xc2, 0xc6, 0x62, 0x00, 0x60, 0x80, 0xba, 0xc8,
- 0xc6, 0x62, 0x00, 0x60, 0x80, 0x00
- };
-
- /* DTAP - Identity Response IMEI */
- static const unsigned char ident_resp_imei[] = {
- 0x08, 0x16, 0x08, 0x9a, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78,
- 0x56
- };
-
- /* DTAP - Identity Response IMSI */
- static const unsigned char ident_resp_imsi[] = {
- 0x08, 0x16, 0x08, 0x19, 0x32, 0x54, 0x76, 0x98, 0x10, 0x32,
- 0x54
- };
-
- /* DTAP - Authentication and Ciphering Resp */
- static const unsigned char auth_ciph_resp[] = {
- 0x08, 0x13, 0x00, 0x22, 0x51, 0xe5, 0x51, 0xe5, 0x23, 0x09,
- 0x9a, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x01
- };
-
- /* DTAP - Attach Complete */
- static const unsigned char attach_compl[] = {
- 0x08, 0x03
- };
-
- /* DTAP - Detach Request (MO) */
- /* normal detach, power_off = 0 */
- static const unsigned char detach_req[] = {
- 0x08, 0x05, 0x01, 0x18, 0x05, 0xf4, 0xeb, 0x8b,
- 0x45, 0x67, 0x19, 0x03, 0xb9, 0x97, 0xcb
- };
-
- printf("Testing GMM attach%s\n", retry ? " with retry" : "");
-
- foreign_tlli = gprs_tmsi2tlli(0xc0000023, TLLI_FOREIGN);
-
- /* Create a LLE/LLME */
- OSMO_ASSERT(count(gprs_llme_list()) == 0);
- lle = gprs_lle_get_or_create(foreign_tlli, 3);
- OSMO_ASSERT(count(gprs_llme_list()) == 1);
-
- /* inject the attach request */
- send_0408_message(lle->llme, foreign_tlli, &raid,
- attach_req, ARRAY_SIZE(attach_req));
-
- ctx = sgsn_mm_ctx_by_tlli(foreign_tlli, &raid);
- OSMO_ASSERT(ctx != NULL);
- OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT);
-
- /* we expect an identity request (IMEI) */
- OSMO_ASSERT(sgsn_tx_counter == 1);
-
- /* inject the identity response (IMEI) */
- send_0408_message(ctx->gb.llme, foreign_tlli, &raid,
- ident_resp_imei, ARRAY_SIZE(ident_resp_imei));
-
- /* we expect an identity request (IMSI) */
- OSMO_ASSERT(sgsn_tx_counter == 1);
-
- /* inject the identity response (IMSI) */
- send_0408_message(ctx->gb.llme, foreign_tlli, &raid,
- ident_resp_imsi, ARRAY_SIZE(ident_resp_imsi));
-
- /* check that the MM context has not been removed due to a failed
- * authorization */
- OSMO_ASSERT(ctx == sgsn_mm_ctx_by_tlli(foreign_tlli, &raid));
-
- OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT);
-
-retry_attach_req:
-
- if (retry && sgsn_tx_counter == 0) {
- fprintf(stderr, "Retrying attach request\n");
- /* re-inject the attach request */
- send_0408_message(lle->llme, foreign_tlli, &raid,
- attach_req, ARRAY_SIZE(attach_req));
- }
-
- if (ctx->auth_state == SGSN_AUTH_AUTHENTICATE && sgsn_tx_counter == 1) {
- /* we got an auth & ciph request */
-
- /* inject the auth & ciph response */
- send_0408_message(ctx->gb.llme, foreign_tlli, &raid,
- auth_ciph_resp, ARRAY_SIZE(auth_ciph_resp));
-
- /* check that the MM context has not been removed due to a
- * failed authorization */
- OSMO_ASSERT(ctx == sgsn_mm_ctx_by_tlli(foreign_tlli, &raid));
- if (ctx->subscr && ctx->subscr->sgsn_data->msisdn_len > 0)
- OSMO_ASSERT(strcmp(ctx->msisdn, "+49166213323") == 0);
- }
-
- if (retry && sgsn_tx_counter == 0)
- goto retry_attach_req;
-
- /* we expect an attach accept/reject */
- OSMO_ASSERT(sgsn_tx_counter == 1);
- ptmsi1 = get_new_ptmsi(&last_dl_parse_ctx);
- OSMO_ASSERT(ptmsi1 != GSM_RESERVED_TMSI);
-
- /* this has been randomly assigned by the SGSN */
- local_tlli = gprs_tmsi2tlli(ptmsi1, TLLI_LOCAL);
-
- /* inject the attach complete */
- send_0408_message(ctx->gb.llme, local_tlli, &raid,
- attach_compl, ARRAY_SIZE(attach_compl));
-
- OSMO_ASSERT(ctx->gmm_state == GMM_REGISTERED_NORMAL);
-
- /* we don't expect a response */
- OSMO_ASSERT(sgsn_tx_counter == 0);
-
- /* inject the detach */
- send_0408_message(ctx->gb.llme, local_tlli, &raid,
- detach_req, ARRAY_SIZE(detach_req));
-
- /* verify that things are gone */
- OSMO_ASSERT(count(gprs_llme_list()) == 0);
- ictx = sgsn_mm_ctx_by_tlli(local_tlli, &raid);
- OSMO_ASSERT(!ictx);
-
- cleanup_test();
-}
-
-static void test_gmm_attach_acl(void)
-{
- const enum sgsn_auth_policy saved_auth_policy = sgsn->cfg.auth_policy;
-
- sgsn_inst.cfg.auth_policy = SGSN_AUTH_POLICY_CLOSED;
- sgsn_acl_add("123456789012345", &sgsn->cfg);
- printf("Auth policy 'closed': ");
- test_gmm_attach(0);
- sgsn_acl_del("123456789012345", &sgsn->cfg);
-
- sgsn->cfg.auth_policy = saved_auth_policy;
-
- cleanup_test();
-}
-
-int my_subscr_request_update_location(struct sgsn_mm_ctx *mmctx) {
int rc;
rc = __real_gprs_subscr_request_update_location(mmctx);
if (rc == -ENOTSUP) {
@@ -1093,71 +935,24 @@ int my_subscr_request_update_location(struct sgsn_mm_ctx *mmctx) {
gprs_subscr_update(mmctx->subscr);
}
return rc;
-};
+}
-int my_subscr_request_auth_info(struct sgsn_mm_ctx *mmctx) {
+int my_subscr_request_auth_info(struct sgsn_mm_ctx *mmctx, const uint8_t *auts,
+ const uint8_t *auts_rand)
+{
gprs_subscr_update(mmctx->subscr);
return 0;
-};
-
-static void test_gmm_attach_subscr(void)
-{
- const enum sgsn_auth_policy saved_auth_policy = sgsn->cfg.auth_policy;
- struct gprs_subscr *subscr;
-
- sgsn_inst.cfg.auth_policy = SGSN_AUTH_POLICY_REMOTE;
- subscr_request_update_location_cb = my_subscr_request_update_location;
- subscr_request_auth_info_cb = my_subscr_request_auth_info;
-
- subscr = gprs_subscr_get_or_create("123456789012345");
- subscr->authorized = 1;
-
- printf("Auth policy 'remote': ");
- test_gmm_attach(0);
- gprs_subscr_put(subscr);
- assert_no_subscrs();
-
- sgsn->cfg.auth_policy = saved_auth_policy;
- subscr_request_update_location_cb = __real_gprs_subscr_request_update_location;
- subscr_request_auth_info_cb = __real_gprs_subscr_request_auth_info;
-
- cleanup_test();
}
-int my_subscr_request_auth_info_fake_auth(struct sgsn_mm_ctx *mmctx)
+int my_subscr_request_auth_info_fake_auth(struct sgsn_mm_ctx *mmctx, const uint8_t *auts,
+ const uint8_t *auts_rand)
{
/* Fake an authentication */
OSMO_ASSERT(mmctx->subscr);
- mmctx->is_authenticated = 1;
+ mmctx->sec_ctx = OSMO_AUTH_TYPE_GSM;
gprs_subscr_update_auth_info(mmctx->subscr);
return 0;
-};
-
-static void test_gmm_attach_subscr_fake_auth(void)
-{
- const enum sgsn_auth_policy saved_auth_policy = sgsn->cfg.auth_policy;
- struct gprs_subscr *subscr;
-
- sgsn_inst.cfg.auth_policy = SGSN_AUTH_POLICY_REMOTE;
- subscr_request_update_location_cb = my_subscr_request_update_location;
- subscr_request_auth_info_cb = my_subscr_request_auth_info_fake_auth;
-
- subscr = gprs_subscr_get_or_create("123456789012345");
- subscr->authorized = 1;
- sgsn->cfg.require_authentication = 1;
- sgsn->cfg.require_update_location = 1;
-
- printf("Auth policy 'remote', auth faked: ");
- test_gmm_attach(0);
- gprs_subscr_put(subscr);
- assert_no_subscrs();
-
- sgsn->cfg.auth_policy = saved_auth_policy;
- subscr_request_update_location_cb = __real_gprs_subscr_request_update_location;
- subscr_request_auth_info_cb = __real_gprs_subscr_request_auth_info;
-
- cleanup_test();
}
int my_subscr_request_auth_info_real_auth(struct sgsn_mm_ctx *mmctx, const uint8_t *auts, const uint8_t *auts_rand)
@@ -1175,33 +970,6 @@ int my_subscr_request_auth_info_real_auth(struct sgsn_mm_ctx *mmctx, const uint8
gprs_subscr_update_auth_info(mmctx->subscr);
return 0;
-};
-
-static void test_gmm_attach_subscr_real_auth(void)
-{
- const enum sgsn_auth_policy saved_auth_policy = sgsn->cfg.auth_policy;
- struct gprs_subscr *subscr;
-
- sgsn_inst.cfg.auth_policy = SGSN_AUTH_POLICY_REMOTE;
- subscr_request_update_location_cb = my_subscr_request_update_location;
- subscr_request_auth_info_cb = my_subscr_request_auth_info_real_auth;
-
- subscr = gprs_subscr_get_or_create("123456789012345");
- subscr->authorized = 1;
- sgsn->cfg.require_authentication = 1;
- sgsn->cfg.require_update_location = 1;
-
- printf("Auth policy 'remote', triplet based auth: ");
-
- test_gmm_attach(0);
- gprs_subscr_put(subscr);
- assert_no_subscrs();
-
- sgsn->cfg.auth_policy = saved_auth_policy;
- subscr_request_update_location_cb = __real_gprs_subscr_request_update_location;
- subscr_request_auth_info_cb = __real_gprs_subscr_request_auth_info;
-
- cleanup_test();
}
#define TEST_GSUP_IMSI_LONG_IE 0x01, 0x08, \
@@ -1210,7 +978,8 @@ static void test_gmm_attach_subscr_real_auth(void)
static int auth_info_skip = 0;
static int upd_loc_skip = 0;
-int my_subscr_request_auth_info_gsup_auth(struct sgsn_mm_ctx *mmctx)
+int my_subscr_request_auth_info_gsup_auth(struct sgsn_mm_ctx *mmctx, const uint8_t *auts,
+ const uint8_t *auts_rand)
{
static const uint8_t send_auth_info_res[] = {
0x0a,
@@ -1264,40 +1033,7 @@ int my_subscr_request_update_gsup_auth(struct sgsn_mm_ctx *mmctx) {
return rx_gsup_message(update_location_res, sizeof(update_location_res));
};
-
-static void test_gmm_attach_subscr_gsup_auth(int retry)
-{
- const enum sgsn_auth_policy saved_auth_policy = sgsn->cfg.auth_policy;
- struct gprs_subscr *subscr;
-
- sgsn_inst.cfg.auth_policy = SGSN_AUTH_POLICY_REMOTE;
- subscr_request_update_location_cb = my_subscr_request_update_gsup_auth;
- subscr_request_auth_info_cb = my_subscr_request_auth_info_gsup_auth;
- if (retry) {
- upd_loc_skip = 3;
- auth_info_skip = 3;
- }
-
- subscr = gprs_subscr_get_or_create("123456789012345");
- subscr->authorized = 1;
- sgsn->cfg.require_authentication = 1;
- sgsn->cfg.require_update_location = 1;
- gprs_subscr_put(subscr);
-
- printf("Auth policy 'remote', GSUP based auth: ");
- test_gmm_attach(retry);
- assert_no_subscrs();
-
- sgsn->cfg.auth_policy = saved_auth_policy;
- subscr_request_update_location_cb = __real_gprs_subscr_request_update_location;
- subscr_request_auth_info_cb = __real_gprs_subscr_request_auth_info;
- upd_loc_skip = 0;
- auth_info_skip = 0;
-
- cleanup_test();
-}
-
-int my_gsup_client_send(struct gsup_client *gsupc, struct msgb *msg)
+int my_gsup_client_send(struct osmo_gsup_client *gsupc, struct msgb *msg)
{
struct osmo_gsup_message to_peer = {0};
struct osmo_gsup_message from_peer = {0};
@@ -1320,7 +1056,7 @@ int my_gsup_client_send(struct gsup_client *gsupc, struct msgb *msg)
case OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST:
/* Send SEND_AUTH_INFO_RESULT */
- return my_subscr_request_auth_info_gsup_auth(NULL);
+ return my_subscr_request_auth_info_gsup_auth(NULL, NULL, NULL);
case OSMO_GSUP_MSGT_PURGE_MS_REQUEST:
from_peer.message_type = OSMO_GSUP_MSGT_PURGE_MS_RESULT;
@@ -1339,7 +1075,7 @@ int my_gsup_client_send(struct gsup_client *gsupc, struct msgb *msg)
return 0;
}
- reply_msg = gsup_client_msgb_alloc();
+ reply_msg = osmo_gsup_client_msgb_alloc();
reply_msg->l2h = reply_msg->data;
osmo_gsup_encode(reply_msg, &from_peer);
gprs_subscr_rx_gsup_message(reply_msg);
@@ -1348,38 +1084,6 @@ int my_gsup_client_send(struct gsup_client *gsupc, struct msgb *msg)
return 0;
};
-static void test_gmm_attach_subscr_real_gsup_auth(int retry)
-{
- const enum sgsn_auth_policy saved_auth_policy = sgsn->cfg.auth_policy;
- struct gprs_subscr *subscr;
-
- sgsn_inst.cfg.auth_policy = SGSN_AUTH_POLICY_REMOTE;
- gsup_client_send_cb = my_gsup_client_send;
-
- sgsn->gsup_client = talloc_zero(tall_bsc_ctx, struct gsup_client);
-
- if (retry) {
- upd_loc_skip = 3;
- auth_info_skip = 3;
- }
-
- printf("Auth policy 'remote', real GSUP based auth: ");
- test_gmm_attach(retry);
-
- subscr = gprs_subscr_get_by_imsi("123456789012345");
- OSMO_ASSERT(subscr == NULL);
- assert_no_subscrs();
-
- sgsn->cfg.auth_policy = saved_auth_policy;
- gsup_client_send_cb = __real_gsup_client_send;
- upd_loc_skip = 0;
- auth_info_skip = 0;
- talloc_free(sgsn->gsup_client);
- sgsn->gsup_client = NULL;
-
- cleanup_test();
-}
-
/*
* Test the GMM Rejects
*/
@@ -1582,7 +1286,7 @@ static void test_gmm_cancel(void)
ctx = sgsn_mm_ctx_by_tlli(foreign_tlli, &raid);
OSMO_ASSERT(ctx != NULL);
- OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT);
+ OSMO_ASSERT(ctx->gmm_fsm->state == ST_GMM_COMMON_PROC_INIT);
/* we expect an identity request (IMEI) */
OSMO_ASSERT(sgsn_tx_counter == 1);
@@ -1602,7 +1306,7 @@ static void test_gmm_cancel(void)
* authorization */
OSMO_ASSERT(ctx == sgsn_mm_ctx_by_tlli(foreign_tlli, &raid));
- OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT);
+ OSMO_ASSERT(ctx->gmm_fsm->state == ST_GMM_COMMON_PROC_INIT);
/* we expect an attach accept/reject */
OSMO_ASSERT(sgsn_tx_counter == 1);
@@ -1616,7 +1320,7 @@ static void test_gmm_cancel(void)
send_0408_message(ctx->gb.llme, foreign_tlli, &raid,
attach_compl, ARRAY_SIZE(attach_compl));
- OSMO_ASSERT(ctx->gmm_state == GMM_REGISTERED_NORMAL);
+ OSMO_ASSERT(ctx->gmm_fsm->state == ST_GMM_REGISTERED_NORMAL);
/* we don't expect a response */
OSMO_ASSERT(sgsn_tx_counter == 0);
@@ -1634,513 +1338,6 @@ static void test_gmm_cancel(void)
cleanup_test();
}
-/*
- * Test the dynamic allocation of P-TMSIs
- */
-static void test_gmm_ptmsi_allocation(void)
-{
- struct gprs_ra_id raid = {332, 112, 16464, 96};
- struct sgsn_mm_ctx *ctx = NULL;
- struct sgsn_mm_ctx *ictx;
- uint32_t foreign_tlli;
- uint32_t ptmsi1;
- uint32_t ptmsi2;
- uint32_t received_ptmsi;
- uint32_t old_ptmsi;
- uint32_t local_tlli = 0;
- struct gprs_llc_lle *lle;
- const enum sgsn_auth_policy saved_auth_policy = sgsn->cfg.auth_policy;
-
- /* DTAP - Attach Request (IMSI 12131415161718) */
- static const unsigned char attach_req[] = {
- 0x08, 0x01, 0x02, 0xf5, 0xe0, 0x21, 0x08, 0x02,
- 0x08, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
- 0x18, 0x11, 0x22, 0x33, 0x40, 0x50, 0x60, 0x19,
- 0x18, 0xb3, 0x43, 0x2b, 0x25, 0x96, 0x62, 0x00,
- 0x60, 0x80, 0x9a, 0xc2, 0xc6, 0x62, 0x00, 0x60,
- 0x80, 0xba, 0xc8, 0xc6, 0x62, 0x00, 0x60, 0x80,
- 0x00,
- };
-
- /* DTAP - Identity Response IMEI */
- static const unsigned char ident_resp_imei[] = {
- 0x08, 0x16, 0x08, 0x9a, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78,
- 0x56
- };
-
- /* DTAP - Attach Complete */
- static const unsigned char attach_compl[] = {
- 0x08, 0x03
- };
-
- /* DTAP - Routing Area Update Request */
- static const unsigned char ra_upd_req[] = {
- 0x08, 0x08, 0x10, 0x11, 0x22, 0x33, 0x40, 0x50,
- 0x60, 0x1d, 0x19, 0x13, 0x42, 0x33, 0x57, 0x2b,
- 0xf7, 0xc8, 0x48, 0x02, 0x13, 0x48, 0x50, 0xc8,
- 0x48, 0x02, 0x14, 0x48, 0x50, 0xc8, 0x48, 0x02,
- 0x17, 0x49, 0x10, 0xc8, 0x48, 0x02, 0x00, 0x19,
- 0x8b, 0xb2, 0x92, 0x17, 0x16, 0x27, 0x07, 0x04,
- 0x31, 0x02, 0xe5, 0xe0, 0x32, 0x02, 0x20, 0x00
- };
-
- /* DTAP - Routing Area Update Complete */
- static const unsigned char ra_upd_complete[] = {
- 0x08, 0x0a
- };
-
- /* DTAP - Detach Request (MO) */
- /* normal detach, power_off = 1 */
- static const unsigned char detach_req[] = {
- 0x08, 0x05, 0x09, 0x18, 0x05, 0xf4, 0xef, 0xe2,
- 0xb7, 0x00, 0x19, 0x03, 0xb9, 0x97, 0xcb
- };
-
- sgsn->cfg.auth_policy = SGSN_AUTH_POLICY_OPEN;
-
- printf("Testing P-TMSI allocation\n");
-
- printf(" - sgsn_alloc_ptmsi\n");
-
- /* reset the PRNG used by sgsn_alloc_ptmsi */
- srand(1);
-
- ptmsi1 = sgsn_alloc_ptmsi();
- OSMO_ASSERT(ptmsi1 != GSM_RESERVED_TMSI);
-
- ptmsi2 = sgsn_alloc_ptmsi();
- OSMO_ASSERT(ptmsi2 != GSM_RESERVED_TMSI);
-
- OSMO_ASSERT(ptmsi1 != ptmsi2);
-
- ptmsi1 = ptmsi2 = GSM_RESERVED_TMSI;
-
- printf(" - Repeated Attach Request\n");
-
- foreign_tlli = gprs_tmsi2tlli(0xc0000023, TLLI_FOREIGN);
-
- /* Create a LLE/LLME */
- OSMO_ASSERT(count(gprs_llme_list()) == 0);
- lle = gprs_lle_get_or_create(foreign_tlli, 3);
- OSMO_ASSERT(count(gprs_llme_list()) == 1);
-
- /* inject the attach request */
- send_0408_message(lle->llme, foreign_tlli, &raid,
- attach_req, ARRAY_SIZE(attach_req));
-
- ctx = sgsn_mm_ctx_by_tlli(foreign_tlli, &raid);
- OSMO_ASSERT(ctx != NULL);
- OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT);
- OSMO_ASSERT(ctx->p_tmsi != GSM_RESERVED_TMSI);
- ptmsi1 = ctx->p_tmsi;
-
- old_ptmsi = ctx->p_tmsi_old;
-
- /* we expect an identity request (IMEI) */
- OSMO_ASSERT(sgsn_tx_counter == 1);
-
- /* inject the identity response (IMEI) */
- send_0408_message(ctx->gb.llme, foreign_tlli, &raid,
- ident_resp_imei, ARRAY_SIZE(ident_resp_imei));
-
- /* check that the MM context has not been removed due to a failed
- * authorization */
- OSMO_ASSERT(ctx == sgsn_mm_ctx_by_tlli(foreign_tlli, &raid));
-
- OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT);
- OSMO_ASSERT(ctx->p_tmsi == ptmsi1);
-
- /* we expect an attach accept */
- OSMO_ASSERT(sgsn_tx_counter == 1);
- received_ptmsi = get_new_ptmsi(&last_dl_parse_ctx);
- OSMO_ASSERT(received_ptmsi == ptmsi1);
-
- /* we ignore this and send the attach again */
- send_0408_message(lle->llme, foreign_tlli, &raid,
- attach_req, ARRAY_SIZE(attach_req));
-
- /* the allocated P-TMSI should be the same */
- ctx = sgsn_mm_ctx_by_tlli(foreign_tlli, &raid);
- OSMO_ASSERT(ctx != NULL);
- OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT);
- OSMO_ASSERT(ctx->p_tmsi_old == old_ptmsi);
- OSMO_ASSERT(ctx->p_tmsi == ptmsi1);
-
- /* we expect an attach accept */
- OSMO_ASSERT(sgsn_tx_counter == 1);
- received_ptmsi = get_new_ptmsi(&last_dl_parse_ctx);
- OSMO_ASSERT(received_ptmsi == ptmsi1);
-
- /* inject the attach complete */
- local_tlli = gprs_tmsi2tlli(ptmsi1, TLLI_LOCAL);
- send_0408_message(ctx->gb.llme, local_tlli, &raid,
- attach_compl, ARRAY_SIZE(attach_compl));
-
- /* we don't expect a response */
- OSMO_ASSERT(sgsn_tx_counter == 0);
-
- OSMO_ASSERT(ctx->gmm_state == GMM_REGISTERED_NORMAL);
- OSMO_ASSERT(ctx->p_tmsi_old == 0);
- OSMO_ASSERT(ctx->p_tmsi == ptmsi1);
-
- printf(" - Repeated RA Update Request\n");
-
- /* inject the RA update request */
- send_0408_message(ctx->gb.llme, local_tlli, &raid,
- ra_upd_req, ARRAY_SIZE(ra_upd_req));
-
- /* we expect an RA update accept */
- OSMO_ASSERT(sgsn_tx_counter == 1);
-
- OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT);
- OSMO_ASSERT(ctx->p_tmsi_old == ptmsi1);
- OSMO_ASSERT(ctx->p_tmsi != GSM_RESERVED_TMSI);
- OSMO_ASSERT(ctx->p_tmsi != ptmsi1);
- ptmsi2 = ctx->p_tmsi;
-
- /* repeat the RA update request */
- send_0408_message(ctx->gb.llme, local_tlli, &raid,
- ra_upd_req, ARRAY_SIZE(ra_upd_req));
-
- /* we expect an RA update accept */
- OSMO_ASSERT(sgsn_tx_counter == 1);
- received_ptmsi = get_new_ptmsi(&last_dl_parse_ctx);
- OSMO_ASSERT(received_ptmsi == ptmsi2);
-
- OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT);
- OSMO_ASSERT(ctx->p_tmsi_old == ptmsi1);
- OSMO_ASSERT(ctx->p_tmsi == ptmsi2);
-
- /* inject the RA update complete */
- local_tlli = gprs_tmsi2tlli(ptmsi2, TLLI_LOCAL);
- send_0408_message(ctx->gb.llme, local_tlli, &raid,
- ra_upd_complete, ARRAY_SIZE(ra_upd_complete));
-
- /* we don't expect a response */
- OSMO_ASSERT(sgsn_tx_counter == 0);
-
- OSMO_ASSERT(ctx->gmm_state == GMM_REGISTERED_NORMAL);
- OSMO_ASSERT(ctx->p_tmsi_old == 0);
- OSMO_ASSERT(ctx->p_tmsi == ptmsi2);
-
- /* inject the detach */
- send_0408_message(ctx->gb.llme, local_tlli, &raid,
- detach_req, ARRAY_SIZE(detach_req));
-
- /* verify that things are gone */
- OSMO_ASSERT(count(gprs_llme_list()) == 0);
- ictx = sgsn_mm_ctx_by_tlli(local_tlli, &raid);
- OSMO_ASSERT(!ictx);
-
- sgsn->cfg.auth_policy = saved_auth_policy;
-
- cleanup_test();
-}
-
-/*
- * Test changing of routing areas
- */
-static void test_gmm_routing_areas(void)
-{
- struct gprs_ra_id raid1 = {332, 112, 16464, 96};
- struct gprs_ra_id raid2 = {332, 112, 16464, 97};
- struct sgsn_mm_ctx *ctx = NULL;
- struct sgsn_mm_ctx *ictx;
- uint32_t ptmsi1;
- uint32_t received_ptmsi;
- uint32_t ms_tlli = 0;
- struct gprs_llc_lle *lle;
- const enum sgsn_auth_policy saved_auth_policy = sgsn->cfg.auth_policy;
-
- /* DTAP - Attach Request (IMSI 12131415161718) */
- static const unsigned char attach_req[] = {
- 0x08, 0x01, 0x02, 0xf5, 0xe0, 0x21, 0x08, 0x02,
- 0x08, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
- 0x18, 0x11, 0x22, 0x33, 0x40, 0x50, 0x60, 0x19,
- 0x18, 0xb3, 0x43, 0x2b, 0x25, 0x96, 0x62, 0x00,
- 0x60, 0x80, 0x9a, 0xc2, 0xc6, 0x62, 0x00, 0x60,
- 0x80, 0xba, 0xc8, 0xc6, 0x62, 0x00, 0x60, 0x80,
- 0x00,
- };
-
- /* DTAP - Attach Request (IMSI 12131415161718) (RA 2) */
- static const unsigned char attach_req2[] = {
- 0x08, 0x01, 0x02, 0xf5, 0xe0, 0x21, 0x08, 0x02,
- 0x08, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
- 0x18, 0x11, 0x22, 0x33, 0x40, 0x50, 0x61, 0x19,
- 0x18, 0xb3, 0x43, 0x2b, 0x25, 0x96, 0x62, 0x00,
- 0x60, 0x80, 0x9a, 0xc2, 0xc6, 0x62, 0x00, 0x60,
- 0x80, 0xba, 0xc8, 0xc6, 0x62, 0x00, 0x60, 0x80,
- 0x00,
- };
-
- /* DTAP - Identity Response IMEI */
- static const unsigned char ident_resp_imei[] = {
- 0x08, 0x16, 0x08, 0x9a, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78,
- 0x56
- };
-
- /* DTAP - Attach Complete */
- static const unsigned char attach_compl[] = {
- 0x08, 0x03
- };
-
- /* DTAP - Routing Area Update Request (coming from RA 1) */
- static const unsigned char ra_upd_req1[] = {
- 0x08, 0x08, 0x10, 0x11, 0x22, 0x33, 0x40, 0x50,
- 0x60, 0x1d, 0x19, 0x13, 0x42, 0x33, 0x57, 0x2b,
- 0xf7, 0xc8, 0x48, 0x02, 0x13, 0x48, 0x50, 0xc8,
- 0x48, 0x02, 0x14, 0x48, 0x50, 0xc8, 0x48, 0x02,
- 0x17, 0x49, 0x10, 0xc8, 0x48, 0x02, 0x00, 0x19,
- 0x8b, 0xb2, 0x92, 0x17, 0x16, 0x27, 0x07, 0x04,
- 0x31, 0x02, 0xe5, 0xe0, 0x32, 0x02, 0x20, 0x00
- };
-
- /* DTAP - Routing Area Update Request (coming from RA 2) */
- static const unsigned char ra_upd_req2[] = {
- 0x08, 0x08, 0x10, 0x11, 0x22, 0x33, 0x40, 0x50,
- 0x61, 0x1d, 0x19, 0x13, 0x42, 0x33, 0x57, 0x2b,
- 0xf7, 0xc8, 0x48, 0x02, 0x13, 0x48, 0x50, 0xc8,
- 0x48, 0x02, 0x14, 0x48, 0x50, 0xc8, 0x48, 0x02,
- 0x17, 0x49, 0x10, 0xc8, 0x48, 0x02, 0x00, 0x19,
- 0x8b, 0xb2, 0x92, 0x17, 0x16, 0x27, 0x07, 0x04,
- 0x31, 0x02, 0xe5, 0xe0, 0x32, 0x02, 0x20, 0x00
- };
-
- /* DTAP - Routing Area Update Request (coming from RA other) */
- /* raid_other = {443, 223, 16464, 98}; */
- static const unsigned char ra_upd_req_other[] = {
- 0x08, 0x08, 0x10, 0x22, 0x33, 0x44, 0x40, 0x50,
- 0x62, 0x1d, 0x19, 0x13, 0x42, 0x33, 0x57, 0x2b,
- 0xf7, 0xc8, 0x48, 0x02, 0x13, 0x48, 0x50, 0xc8,
- 0x48, 0x02, 0x14, 0x48, 0x50, 0xc8, 0x48, 0x02,
- 0x17, 0x49, 0x10, 0xc8, 0x48, 0x02, 0x00, 0x19,
- 0x8b, 0xb2, 0x92, 0x17, 0x16, 0x27, 0x07, 0x04,
- 0x31, 0x02, 0xe5, 0xe0, 0x32, 0x02, 0x20, 0x00
- };
-
- /* DTAP - Routing Area Update Complete */
- static const unsigned char ra_upd_complete[] = {
- 0x08, 0x0a
- };
-
- /* DTAP - Detach Request (MO) */
- /* normal detach, power_off = 1 */
- static const unsigned char detach_req[] = {
- 0x08, 0x05, 0x09, 0x18, 0x05, 0xf4, 0xef, 0xe2,
- 0xb7, 0x00, 0x19, 0x03, 0xb9, 0x97, 0xcb
- };
-
- sgsn->cfg.auth_policy = SGSN_AUTH_POLICY_OPEN;
-
- printf("Testing routing area changes\n");
-
- /* reset the PRNG used by sgsn_alloc_ptmsi */
- srand(1);
-
- ptmsi1 = GSM_RESERVED_TMSI;
-
- printf(" - Attach Request (RA 1)\n");
-
- ms_tlli = gprs_tmsi2tlli(0x00000023, TLLI_RANDOM);
-
- /* Create a LLE/LLME */
- OSMO_ASSERT(count(gprs_llme_list()) == 0);
- lle = gprs_lle_get_or_create(ms_tlli, 3);
- OSMO_ASSERT(count(gprs_llme_list()) == 1);
-
- /* inject the attach request */
- send_0408_message(lle->llme, ms_tlli, &raid1,
- attach_req, ARRAY_SIZE(attach_req));
-
- ctx = sgsn_mm_ctx_by_tlli(ms_tlli, &raid1);
- OSMO_ASSERT(ctx != NULL);
- OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT);
- OSMO_ASSERT(ctx->p_tmsi != GSM_RESERVED_TMSI);
-
- /* we expect an identity request (IMEI) */
- OSMO_ASSERT(sgsn_tx_counter == 1);
- OSMO_ASSERT(last_dl_parse_ctx.g48_hdr->msg_type == GSM48_MT_GMM_ID_REQ);
- OSMO_ASSERT(last_dl_parse_ctx.tlli == ms_tlli);
-
- /* inject the identity response (IMEI) */
- send_0408_message(ctx->gb.llme, ms_tlli, &raid1,
- ident_resp_imei, ARRAY_SIZE(ident_resp_imei));
-
- /* check that the MM context has not been removed due to a failed
- * authorization */
- OSMO_ASSERT(ctx == sgsn_mm_ctx_by_tlli(ms_tlli, &raid1));
-
- OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT);
-
- /* we expect an attach accept */
- OSMO_ASSERT(sgsn_tx_counter == 1);
- OSMO_ASSERT(last_dl_parse_ctx.g48_hdr->msg_type == GSM48_MT_GMM_ATTACH_ACK);
- OSMO_ASSERT(last_dl_parse_ctx.tlli == ms_tlli);
-
- received_ptmsi = get_new_ptmsi(&last_dl_parse_ctx);
- OSMO_ASSERT(received_ptmsi == ctx->p_tmsi);
- ptmsi1 = received_ptmsi;
-
- /* inject the attach complete */
- ms_tlli = gprs_tmsi2tlli(ptmsi1, TLLI_LOCAL);
- send_0408_message(ctx->gb.llme, ms_tlli, &raid1,
- attach_compl, ARRAY_SIZE(attach_compl));
-
- /* we don't expect a response */
- OSMO_ASSERT(sgsn_tx_counter == 0);
-
- OSMO_ASSERT(ctx->gmm_state == GMM_REGISTERED_NORMAL);
- OSMO_ASSERT(ctx->p_tmsi_old == 0);
- OSMO_ASSERT(ctx->p_tmsi == ptmsi1);
-
- printf(" - RA Update Request (RA 1 -> RA 1)\n");
-
- /* inject the RA update request */
- send_0408_message(ctx->gb.llme, ms_tlli, &raid1,
- ra_upd_req1, ARRAY_SIZE(ra_upd_req1));
-
- /* we expect an RA update accept */
- OSMO_ASSERT(sgsn_tx_counter == 1);
- OSMO_ASSERT(last_dl_parse_ctx.g48_hdr->msg_type == GSM48_MT_GMM_RA_UPD_ACK);
- // OSMO_ASSERT(last_dl_parse_ctx.tlli == ms_tlli);
-
- OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT);
- OSMO_ASSERT(ctx->p_tmsi_old == ptmsi1);
- OSMO_ASSERT(ctx->p_tmsi != GSM_RESERVED_TMSI);
- OSMO_ASSERT(ctx->p_tmsi != ptmsi1);
-
- received_ptmsi = get_new_ptmsi(&last_dl_parse_ctx);
- OSMO_ASSERT(received_ptmsi == ctx->p_tmsi);
- ptmsi1 = received_ptmsi;
-
- /* inject the RA update complete */
- ms_tlli = gprs_tmsi2tlli(ptmsi1, TLLI_LOCAL);
- send_0408_message(ctx->gb.llme, ms_tlli, &raid1,
- ra_upd_complete, ARRAY_SIZE(ra_upd_complete));
-
- /* we don't expect a response */
- OSMO_ASSERT(sgsn_tx_counter == 0);
-
- OSMO_ASSERT(ctx->gmm_state == GMM_REGISTERED_NORMAL);
- OSMO_ASSERT(ctx->p_tmsi_old == 0);
- OSMO_ASSERT(ctx->p_tmsi == ptmsi1);
- OSMO_ASSERT(ctx->gb.tlli == ms_tlli);
-
- printf(" - RA Update Request (RA 1 -> RA 2)\n");
-
- /* inject the RA update request */
- ms_tlli = gprs_tmsi2tlli(ptmsi1, TLLI_FOREIGN);
-
- /* It is coming from RA 1 => ra_upd_req1 */
- send_0408_message(ctx->gb.llme, ms_tlli, &raid2,
- ra_upd_req1, ARRAY_SIZE(ra_upd_req1));
-
- /* we expect an RA update accept */
- OSMO_ASSERT(sgsn_tx_counter == 1);
- OSMO_ASSERT(last_dl_parse_ctx.g48_hdr->msg_type == GSM48_MT_GMM_RA_UPD_ACK);
-
- printf(" - RA Update Request (RA other -> RA 2)\n");
-
- /* inject the RA update request */
- ms_tlli = gprs_tmsi2tlli(0x12345678, TLLI_FOREIGN);
-
- /* It is coming from RA 1 => ra_upd_req1 */
- send_0408_message(ctx->gb.llme, ms_tlli, &raid2,
- ra_upd_req_other, ARRAY_SIZE(ra_upd_req_other));
-
- /* we expect an RA update reject (and a LLC XID RESET) */
- OSMO_ASSERT(sgsn_tx_counter == 2);
- OSMO_ASSERT(last_dl_parse_ctx.g48_hdr->msg_type == GSM48_MT_GMM_RA_UPD_REJ);
- /* this has killed the LLE/LLME */
-
- printf(" - Attach Request (RA 2)\n");
-
- /* Create a LLE/LLME */
- OSMO_ASSERT(count(gprs_llme_list()) == 1);
- lle = gprs_lle_get_or_create(ms_tlli, 3);
- OSMO_ASSERT(count(gprs_llme_list()) == 1);
-
- /* inject the attach request */
- send_0408_message(lle->llme, ms_tlli, &raid2,
- attach_req2, ARRAY_SIZE(attach_req2));
-
- ctx = sgsn_mm_ctx_by_tlli(ms_tlli, &raid2);
- OSMO_ASSERT(ctx != NULL);
- OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT);
- OSMO_ASSERT(ctx->p_tmsi != GSM_RESERVED_TMSI);
-
- /* we expect an attach accept */
- OSMO_ASSERT(sgsn_tx_counter == 1);
- OSMO_ASSERT(last_dl_parse_ctx.g48_hdr->msg_type == GSM48_MT_GMM_ATTACH_ACK);
-
- received_ptmsi = get_new_ptmsi(&last_dl_parse_ctx);
- OSMO_ASSERT(received_ptmsi == ctx->p_tmsi);
- ptmsi1 = received_ptmsi;
-
- /* inject the attach complete */
- ms_tlli = gprs_tmsi2tlli(ptmsi1, TLLI_LOCAL);
- ictx = sgsn_mm_ctx_by_tlli(ms_tlli, &raid2);
- OSMO_ASSERT(ictx != NULL);
- OSMO_ASSERT(ictx == ctx);
-
- send_0408_message(ctx->gb.llme, ms_tlli, &raid2,
- attach_compl, ARRAY_SIZE(attach_compl));
-
- /* we don't expect a response */
- OSMO_ASSERT(sgsn_tx_counter == 0);
-
- OSMO_ASSERT(ctx->gmm_state == GMM_REGISTERED_NORMAL);
- OSMO_ASSERT(ctx->p_tmsi_old == 0);
- OSMO_ASSERT(ctx->p_tmsi == ptmsi1);
-
- printf(" - RA Update Request (RA 2 -> RA 2)\n");
-
- /* inject the RA update request */
- send_0408_message(ctx->gb.llme, ms_tlli, &raid2,
- ra_upd_req2, ARRAY_SIZE(ra_upd_req2));
-
- /* we expect an RA update accept */
- OSMO_ASSERT(sgsn_tx_counter == 1);
- OSMO_ASSERT(last_dl_parse_ctx.g48_hdr->msg_type == GSM48_MT_GMM_RA_UPD_ACK);
-
- OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT);
- OSMO_ASSERT(ctx->p_tmsi_old == ptmsi1);
- OSMO_ASSERT(ctx->p_tmsi != GSM_RESERVED_TMSI);
- OSMO_ASSERT(ctx->p_tmsi != ptmsi1);
-
- received_ptmsi = get_new_ptmsi(&last_dl_parse_ctx);
- OSMO_ASSERT(received_ptmsi == ctx->p_tmsi);
- ptmsi1 = received_ptmsi;
-
- /* inject the RA update complete */
- ms_tlli = gprs_tmsi2tlli(ptmsi1, TLLI_LOCAL);
- send_0408_message(ctx->gb.llme, ms_tlli, &raid2,
- ra_upd_complete, ARRAY_SIZE(ra_upd_complete));
-
- /* we don't expect a response */
- OSMO_ASSERT(sgsn_tx_counter == 0);
-
- OSMO_ASSERT(ctx->gmm_state == GMM_REGISTERED_NORMAL);
- OSMO_ASSERT(ctx->p_tmsi_old == 0);
- OSMO_ASSERT(ctx->p_tmsi == ptmsi1);
- OSMO_ASSERT(ctx->gb.tlli == ms_tlli);
-
-
- /* inject the detach */
- send_0408_message(ctx->gb.llme, ms_tlli, &raid2,
- detach_req, ARRAY_SIZE(detach_req));
-
- /* verify that things are gone */
- OSMO_ASSERT(count(gprs_llme_list()) == 0);
- ictx = sgsn_mm_ctx_by_tlli(ms_tlli, &raid2);
- OSMO_ASSERT(!ictx);
-
- sgsn->cfg.auth_policy = saved_auth_policy;
-
- cleanup_test();
-}
-
static void test_apn_matching(void)
{
struct apn_ctx *actx, *actxs[9];
@@ -2255,7 +1452,7 @@ static void test_ggsn_selection(void)
printf("Testing GGSN selection\n");
- gsup_client_send_cb = my_gsup_client_send_dummy;
+ osmo_gsup_client_send_cb = my_gsup_client_send_dummy;
/* Check for emptiness */
OSMO_ASSERT(gprs_subscr_get_by_imsi(imsi1) == NULL);
@@ -2374,11 +1571,27 @@ static void test_ggsn_selection(void)
sgsn_ggsn_ctx_free(ggcs[1]);
sgsn_ggsn_ctx_free(ggcs[2]);
- gsup_client_send_cb = __real_gsup_client_send;
+ osmo_gsup_client_send_cb = __real_osmo_gsup_client_send;
cleanup_test();
}
+bool pdp_status_has_active_nsapis(const uint8_t *pdp_status, const size_t pdp_status_len);
+
+static void test_pdp_status_has_active_nsapis(void)
+{
+ const size_t pdp_status_len = 2;
+ const uint8_t pdp_status1[] = { 0b00100000, 0b00000000 }; /* PDP NSAPI 5 active */
+ const uint8_t pdp_status2[] = { 0b00000000, 0b00000000 }; /* no active PDP NSAPI */
+ const uint8_t pdp_status3[] = { 0b00000000, 0b00000001 }; /* PDP NSAPI 8 active */
+
+ printf("Testing pdp_status_has_active_nsapis\n");
+
+ OSMO_ASSERT(pdp_status_has_active_nsapis(pdp_status1, pdp_status_len));
+ OSMO_ASSERT(!pdp_status_has_active_nsapis(pdp_status2, pdp_status_len));
+ OSMO_ASSERT(pdp_status_has_active_nsapis(pdp_status3, pdp_status_len));
+}
+
static struct log_info_cat gprs_categories[] = {
[DMM] = {
.name = "DMM",
@@ -2434,19 +1647,25 @@ static struct log_info info = {
.num_cat = ARRAY_SIZE(gprs_categories),
};
+static struct vty_app_info vty_info = {
+ .name = "testSGSN",
+};
+
int main(int argc, char **argv)
{
void *osmo_sgsn_ctx;
void *msgb_ctx;
- osmo_init_logging(&info);
osmo_sgsn_ctx = talloc_named_const(NULL, 0, "osmo_sgsn");
- tall_bsc_ctx = talloc_named_const(osmo_sgsn_ctx, 0, "bsc");
+ osmo_init_logging2(osmo_sgsn_ctx, &info);
+ tall_sgsn_ctx = talloc_named_const(osmo_sgsn_ctx, 0, "sgsn");
msgb_ctx = msgb_talloc_ctx_init(osmo_sgsn_ctx, 0);
sgsn_rate_ctr_init();
- sgsn_auth_init();
+ sgsn_auth_init(sgsn);
gprs_subscr_init(sgsn);
+ vty_init(&vty_info);
+ sgsn_vty_init(&sgsn->cfg);
test_llme();
test_subscriber();
@@ -2457,24 +1676,16 @@ int main(int argc, char **argv)
test_gmm_detach_no_mmctx();
test_gmm_detach_accept_unexpected();
test_gmm_status_no_mmctx();
- test_gmm_attach_acl();
- test_gmm_attach_subscr();
- test_gmm_attach_subscr_fake_auth();
- test_gmm_attach_subscr_real_auth();
- test_gmm_attach_subscr_gsup_auth(0);
- test_gmm_attach_subscr_gsup_auth(1);
- test_gmm_attach_subscr_real_gsup_auth(0);
test_gmm_reject();
test_gmm_cancel();
- test_gmm_ptmsi_allocation();
- test_gmm_routing_areas();
test_apn_matching();
test_ggsn_selection();
+ test_pdp_status_has_active_nsapis();
printf("Done\n");
talloc_report_full(osmo_sgsn_ctx, stderr);
OSMO_ASSERT(talloc_total_blocks(msgb_ctx) == 1);
- OSMO_ASSERT(talloc_total_blocks(tall_bsc_ctx) == 2);
+ OSMO_ASSERT(talloc_total_blocks(tall_sgsn_ctx) == 2);
return 0;
}
diff --git a/tests/sgsn/sgsn_test.ok b/tests/sgsn/sgsn_test.ok
index f38d7309d..35b1d7bb7 100644
--- a/tests/sgsn/sgsn_test.ok
+++ b/tests/sgsn/sgsn_test.ok
@@ -15,13 +15,6 @@ Testing GMM detach (power off)
Testing GMM detach (no MMCTX)
Testing GMM detach accept (unexpected)
Testing GMM Status (no MMCTX)
-Auth policy 'closed': Testing GMM attach
-Auth policy 'remote': Testing GMM attach
-Auth policy 'remote', auth faked: Testing GMM attach
-Auth policy 'remote', triplet based auth: Testing GMM attach
-Auth policy 'remote', GSUP based auth: Testing GMM attach
-Auth policy 'remote', GSUP based auth: Testing GMM attach with retry
-Auth policy 'remote', real GSUP based auth: Testing GMM attach
Testing GMM reject
- Attach Request (invalid MI length)
- Attach Request (invalid MI type)
@@ -29,17 +22,7 @@ Testing GMM reject
- Routing Area Update Request (invalid type)
- Routing Area Update Request (invalid CAP length)
Testing cancellation
-Testing P-TMSI allocation
- - sgsn_alloc_ptmsi
- - Repeated Attach Request
- - Repeated RA Update Request
-Testing routing area changes
- - Attach Request (RA 1)
- - RA Update Request (RA 1 -> RA 1)
- - RA Update Request (RA 1 -> RA 2)
- - RA Update Request (RA other -> RA 2)
- - Attach Request (RA 2)
- - RA Update Request (RA 2 -> RA 2)
Testing APN matching
Testing GGSN selection
+Testing pdp_status_has_active_nsapis
Done
diff --git a/tests/slhc/Makefile.am b/tests/slhc/Makefile.am
index 818ae2ef3..b6738c25d 100644
--- a/tests/slhc/Makefile.am
+++ b/tests/slhc/Makefile.am
@@ -8,7 +8,7 @@ noinst_PROGRAMS = slhc_test
slhc_test_SOURCES = slhc_test.c
slhc_test_LDADD = \
- $(top_builddir)/src/gprs/slhc.o \
+ $(top_builddir)/src/sgsn/slhc.o \
$(LIBOSMOCORE_LIBS)
diff --git a/tests/slhc/slhc_test.c b/tests/slhc/slhc_test.c
index d2e1cd9dc..5c1331355 100644
--- a/tests/slhc/slhc_test.c
+++ b/tests/slhc/slhc_test.c
@@ -19,8 +19,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <openbsc/slhc.h>
-#include <openbsc/debug.h>
+#include <osmocom/sgsn/slhc.h>
+#include <osmocom/sgsn/debug.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/utils.h>
@@ -250,17 +250,20 @@ static struct log_info info = {
int main(int argc, char **argv)
{
void *ctx;
-
- osmo_init_logging(&info);
+ void *log_ctx;
ctx = talloc_named_const(NULL, 0, "slhc_ctx");
+ log_ctx = talloc_named_const(ctx, 0, "log");
+ osmo_init_logging2(log_ctx, &info);
test_slhc(ctx);
printf("Done\n");
talloc_report_full(ctx, stderr);
+ talloc_free(log_ctx);
OSMO_ASSERT(talloc_total_blocks(ctx) == 1);
+ talloc_free(ctx);
return 0;
}
diff --git a/tests/sndcp_xid/Makefile.am b/tests/sndcp_xid/Makefile.am
index d09c41b28..24626b32e 100644
--- a/tests/sndcp_xid/Makefile.am
+++ b/tests/sndcp_xid/Makefile.am
@@ -8,13 +8,12 @@ noinst_PROGRAMS = sndcp_xid_test
sndcp_xid_test_SOURCES = sndcp_xid_test.c
sndcp_xid_test_LDADD = \
- $(top_builddir)/src/gprs/gprs_sndcp_xid.o \
+ $(top_builddir)/src/sgsn/gprs_sndcp_xid.o \
$(LIBOSMOABIS_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(LIBOSMOGSM_LIBS) \
$(LIBOSMOGB_LIBS) \
$(LIBCARES_LIBS) \
- $(LIBCRYPTO_LIBS) \
$(LIBGTP_LIBS) \
-lrt -lm
diff --git a/tests/sndcp_xid/sndcp_xid_test.c b/tests/sndcp_xid/sndcp_xid_test.c
index 151dd2bb5..56b97e336 100644
--- a/tests/sndcp_xid/sndcp_xid_test.c
+++ b/tests/sndcp_xid/sndcp_xid_test.c
@@ -19,8 +19,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <openbsc/gprs_sndcp_xid.h>
-#include <openbsc/debug.h>
+#include <osmocom/sgsn/gprs_sndcp_xid.h>
+#include <osmocom/sgsn/debug.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/utils.h>
@@ -106,7 +106,7 @@ static void test_xid_encode_decode(const void *ctx)
/* Setup rfc1144 compression field */
rfc1144_comp_field.p = 1;
rfc1144_comp_field.entity = 0;
- rfc1144_comp_field.algo = RFC_1144;
+ rfc1144_comp_field.algo.pcomp = RFC_1144;
rfc1144_comp_field.comp[RFC1144_PCOMP1] = 1;
rfc1144_comp_field.comp[RFC1144_PCOMP2] = 2;
rfc1144_comp_field.comp_len = RFC1144_PCOMP_NUM;
@@ -126,7 +126,7 @@ static void test_xid_encode_decode(const void *ctx)
/* Setup rfc2507 compression field */
rfc2507_comp_field.p = 1;
rfc2507_comp_field.entity = 1;
- rfc2507_comp_field.algo = RFC_2507;
+ rfc2507_comp_field.algo.pcomp = RFC_2507;
rfc2507_comp_field.comp[RFC2507_PCOMP1] = 3;
rfc2507_comp_field.comp[RFC2507_PCOMP2] = 4;
rfc2507_comp_field.comp[RFC2507_PCOMP3] = 5;
@@ -173,7 +173,7 @@ static void test_xid_encode_decode(const void *ctx)
/* Setup ROHC compression field */
rohc_comp_field.p = 1;
rohc_comp_field.entity = 2;
- rohc_comp_field.algo = ROHC;
+ rohc_comp_field.algo.pcomp = ROHC;
rohc_comp_field.comp[ROHC_PCOMP1] = 8;
rohc_comp_field.comp[ROHC_PCOMP2] = 9;
rohc_comp_field.comp_len = ROHC_PCOMP_NUM;
@@ -191,7 +191,7 @@ static void test_xid_encode_decode(const void *ctx)
/* Setup v42bis compression field */
v42bis_comp_field.p = 1;
v42bis_comp_field.entity = 3;
- v42bis_comp_field.algo = V42BIS;
+ v42bis_comp_field.algo.dcomp = V42BIS;
v42bis_comp_field.comp[V42BIS_DCOMP1] = 10;
v42bis_comp_field.comp_len = V42BIS_DCOMP_NUM;
v42bis_comp_field.v42bis_params = &v42bis_params;
@@ -211,7 +211,7 @@ static void test_xid_encode_decode(const void *ctx)
/* Setup v44 compression field */
v44_comp_field.p = 1;
v44_comp_field.entity = 3;
- v44_comp_field.algo = V44;
+ v44_comp_field.algo.dcomp = V44;
v44_comp_field.comp[V44_DCOMP1] = 10;
v44_comp_field.comp[V44_DCOMP2] = 11;
v44_comp_field.comp_len = V44_DCOMP_NUM;
@@ -261,10 +261,11 @@ static struct log_info info = {
int main(int argc, char **argv)
{
void *xid_ctx;
-
- osmo_init_logging(&info);
+ void *log_ctx;
xid_ctx = talloc_named_const(NULL, 0, "xid_ctx");
+ log_ctx = talloc_named_const(xid_ctx, 0, "log");
+ osmo_init_logging2(log_ctx, &info);
test_xid_decode_realworld(xid_ctx);
test_xid_encode_decode(xid_ctx);
@@ -272,7 +273,9 @@ int main(int argc, char **argv)
printf("Done\n");
talloc_report_full(xid_ctx, stderr);
+ talloc_free(log_ctx);
OSMO_ASSERT(talloc_total_blocks(xid_ctx) == 1);
+ talloc_free(xid_ctx);
return 0;
}
diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty
new file mode 100644
index 000000000..18bccc8f2
--- /dev/null
+++ b/tests/test_nodes.vty
@@ -0,0 +1,63 @@
+OsmoSGSN> enable
+OsmoSGSN# show timer
+T3312 = 600 s Periodic RA Update timer (s) (default: 600 s)
+T3313 = 30 s Waiting for paging response timer (s) (default: 30 s)
+T3314 = 44 s READY timer. Force to STANDBY on expiry timer (s) (default: 44 s)
+T3316 = 44 s AA-Ready timer (s) (default: 44 s)
+T3322 = 6 s Detach request -> accept timer (s) (default: 6 s)
+T3350 = 6 s Waiting for ATT/RAU/TMSI_COMPL timer (s) (default: 6 s)
+T3360 = 6 s Waiting for AUTH/CIPH response timer (s) (default: 6 s)
+T3370 = 6 s Waiting for IDENTITY response timer (s) (default: 6 s)
+T3385 = 8 s Wait for ACT PDP CTX REQ timer (s) (default: 8 s)
+T3386 = 8 s Wait for MODIFY PDP CTX ACK timer (s) (default: 8 s)
+T3395 = 8 s Wait for DEACT PDP CTX ACK timer (s) (default: 8 s)
+T3397 = 8 s Wait for DEACT AA PDP CTX ACK timer (s) (default: 8 s)
+X1001 = 5 s RANAP Release timeout. Wait for RANAP Release Complete.On expiry release Iu connection (s) (default: 5 s)
+X3314 = 44 s Iu User inactivity timer. On expiry release Iu connection (s) (default: 44 s)
+OsmoSGSN# configure terminal
+OsmoSGSN(config)# list
+...
+ sgsn
+ ctrl
+...
+ ns
+ bssgp
+...
+
+OsmoSGSN(config)# sgsn
+OsmoSGSN(config-sgsn)# list
+...
+ gtp local-ip A.B.C.D
+ ggsn <0-255> remote-ip A.B.C.D
+ ggsn <0-255> gtp-version (0|1)
+ ggsn <0-255> echo-interval <1-36000>
+ ggsn <0-255> no echo-interval
+ imsi-acl (add|del) IMSI
+ auth-policy (accept-all|closed|acl-only|remote)
+ authentication (optional|required)
+ encryption (GEA0|GEA1|GEA2|GEA3|GEA4)
+ gsup ipa-name NAME
+ gsup remote-ip A.B.C.D
+ gsup remote-port <0-65535>
+ gsup oap-id <0-65535>
+ gsup oap-k K
+ gsup oap-opc OPC
+ apn APNAME ggsn <0-255>
+ apn APNAME imsi-prefix IMSIPRE ggsn <0-255>
+ access-point-name NAME
+ no access-point-name NAME
+ cdr filename NAME
+ no cdr filename
+ cdr trap
+ no cdr trap
+ cdr interval <1-2147483647>
+ ggsn dynamic
+ grx-dns-add A.B.C.D
+ timer [TNNNN] [(<0-2147483647>|default)]
+ no compression rfc1144
+ compression rfc1144 active slots <1-256>
+ compression rfc1144 passive
+ no compression v42bis
+ compression v42bis active direction (ms|sgsn|both) codewords <512-65535> strlen <6-250>
+ compression v42bis passive
+...
diff --git a/tests/testsuite.at b/tests/testsuite.at
index 81cd713f3..d30115e01 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -20,14 +20,6 @@ cat $abs_srcdir/sgsn/sgsn_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/sgsn/sgsn_test], [], [expout], [ignore])
AT_CLEANUP
-AT_SETUP([oap])
-AT_KEYWORDS([oap])
-AT_CHECK([test "$enable_oap_test" != no || exit 77])
-cat $abs_srcdir/oap/oap_client_test.ok > expout
-cat $abs_srcdir/oap/oap_client_test.err > experr
-AT_CHECK([$abs_top_builddir/tests/oap/oap_client_test], [], [expout], [experr])
-AT_CLEANUP
-
AT_SETUP([gtphub])
AT_KEYWORDS([gtphub])
AT_CHECK([test "$enable_gtphub_test" != no || exit 77])
diff --git a/tests/v42bis/Makefile.am b/tests/v42bis/Makefile.am
index 8e17b4afd..744239279 100644
--- a/tests/v42bis/Makefile.am
+++ b/tests/v42bis/Makefile.am
@@ -8,7 +8,7 @@ noinst_PROGRAMS = v42bis_test
v42bis_test_SOURCES = v42bis_test.c
v42bis_test_LDADD = \
- $(top_builddir)/src/gprs/v42bis.o \
+ $(top_builddir)/src/sgsn/v42bis.o \
$(LIBOSMOCORE_LIBS)
diff --git a/tests/v42bis/v42bis_test.c b/tests/v42bis/v42bis_test.c
index 7e907858d..e9c506926 100644
--- a/tests/v42bis/v42bis_test.c
+++ b/tests/v42bis/v42bis_test.c
@@ -19,9 +19,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <openbsc/v42bis.h>
-#include <openbsc/v42bis_private.h>
-#include <openbsc/debug.h>
+#include <osmocom/sgsn/v42bis.h>
+#include <osmocom/sgsn/v42bis_private.h>
+#include <osmocom/sgsn/debug.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/utils.h>
@@ -407,11 +407,12 @@ static struct log_info info = {
int main(int argc, char **argv)
{
void *v42bis_ctx;
+ void *log_ctx;
int i;
- osmo_init_logging(&info);
-
v42bis_ctx = talloc_named_const(NULL, 0, "v42bis_ctx");
+ log_ctx = talloc_named_const(v42bis_ctx, 0, "log");
+ osmo_init_logging2(log_ctx, &info);
test_v42bis(v42bis_ctx);
@@ -423,7 +424,9 @@ int main(int argc, char **argv)
printf("Done\n");
talloc_report_full(v42bis_ctx, stderr);
+ talloc_free(log_ctx);
OSMO_ASSERT(talloc_total_blocks(v42bis_ctx) == 1);
+ talloc_free(v42bis_ctx);
return 0;
}
diff --git a/tests/vty_test_runner.py b/tests/vty_test_runner.py
index 9be8d03cc..ed52d5f9b 100644..100755
--- a/tests/vty_test_runner.py
+++ b/tests/vty_test_runner.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# (C) 2013 by Katerina Barone-Adesi <kat.obsc@gmail.com>
# (C) 2013 by Holger Hans Peter Freyther
@@ -23,11 +23,7 @@ import subprocess
import osmopy.obscvty as obscvty
import osmopy.osmoutil as osmoutil
-
-# add $top_srcdir/contrib to find ipa.py
-sys.path.append(os.path.join(sys.path[0], '..', 'contrib'))
-
-from ipa import IPA
+from osmopy.osmo_ipa import IPA
# to be able to find $top_srcdir/doc/...
confpath = os.path.join(sys.path[0], '..')
@@ -37,9 +33,9 @@ class TestVTYBase(unittest.TestCase):
def checkForEndAndExit(self):
res = self.vty.command("list")
#print ('looking for "exit"\n')
- self.assert_(res.find(' exit\r') > 0)
+ self.assertTrue(res.find(' exit\r') > 0)
#print 'found "exit"\nlooking for "end"\n'
- self.assert_(res.find(' end\r') > 0)
+ self.assertTrue(res.find(' end\r') > 0)
#print 'found "end"\n'
def vty_command(self):
@@ -58,8 +54,8 @@ class TestVTYBase(unittest.TestCase):
try:
self.proc = osmoutil.popen_devnull(osmo_vty_cmd)
except OSError:
- print >> sys.stderr, "Current directory: %s" % os.getcwd()
- print >> sys.stderr, "Consider setting -b"
+ print("Current directory: %s" % os.getcwd(), file=sys.stderr)
+ print("Consider setting -b", file=sys.stderr)
appstring = self.vty_app()[2]
appport = self.vty_app()[0]
@@ -75,142 +71,140 @@ class TestVTYBase(unittest.TestCase):
class TestVTYGbproxy(TestVTYBase):
def vty_command(self):
- return ["./src/gprs/osmo-gbproxy", "-c",
+ return ["./src/gbproxy/osmo-gbproxy", "-c",
"doc/examples/osmo-gbproxy/osmo-gbproxy.cfg"]
def vty_app(self):
- return (4246, "./src/gprs/osmo-gbproxy", "OsmoGbProxy", "bsc")
+ return (4246, "./src/gbproxy/osmo-gbproxy", "OsmoGbProxy", "gbproxy")
def testVtyTree(self):
self.vty.enable()
self.assertTrue(self.vty.verify('configure terminal', ['']))
- self.assertEquals(self.vty.node(), 'config')
+ self.assertEqual(self.vty.node(), 'config')
self.checkForEndAndExit()
self.assertTrue(self.vty.verify('ns', ['']))
- self.assertEquals(self.vty.node(), 'config-ns')
+ self.assertEqual(self.vty.node(), 'config-ns')
self.checkForEndAndExit()
self.assertTrue(self.vty.verify('exit', ['']))
- self.assertEquals(self.vty.node(), 'config')
+ self.assertEqual(self.vty.node(), 'config')
self.assertTrue(self.vty.verify('gbproxy', ['']))
- self.assertEquals(self.vty.node(), 'config-gbproxy')
+ self.assertEqual(self.vty.node(), 'config-gbproxy')
self.checkForEndAndExit()
self.assertTrue(self.vty.verify('exit', ['']))
- self.assertEquals(self.vty.node(), 'config')
+ self.assertEqual(self.vty.node(), 'config')
def testVtyShow(self):
res = self.vty.command("show ns")
- self.assert_(res.find('Encapsulation NS-UDP-IP') >= 0)
+ self.assertTrue(res.find('Encapsulation NS-UDP-IP') >= 0)
res = self.vty.command("show gbproxy stats")
- self.assert_(res.find('GBProxy Global Statistics') >= 0)
+ self.assertTrue(res.find('GBProxy Global Statistics') >= 0)
def testVtyDeletePeer(self):
self.vty.enable()
self.assertTrue(self.vty.verify('delete-gbproxy-peer 9999 bvci 7777', ['BVC not found']))
res = self.vty.command("delete-gbproxy-peer 9999 all dry-run")
- self.assert_(res.find('Not Deleted 0 BVC') >= 0)
- self.assert_(res.find('Not Deleted 0 NS-VC') >= 0)
+ self.assertTrue(res.find('Not Deleted 0 BVC') >= 0)
+ self.assertTrue(res.find('Not Deleted 0 NS-VC') >= 0)
res = self.vty.command("delete-gbproxy-peer 9999 only-bvc dry-run")
- self.assert_(res.find('Not Deleted 0 BVC') >= 0)
- self.assert_(res.find('Not Deleted 0 NS-VC') < 0)
+ self.assertTrue(res.find('Not Deleted 0 BVC') >= 0)
+ self.assertTrue(res.find('Not Deleted 0 NS-VC') < 0)
res = self.vty.command("delete-gbproxy-peer 9999 only-nsvc dry-run")
- self.assert_(res.find('Not Deleted 0 BVC') < 0)
- self.assert_(res.find('Not Deleted 0 NS-VC') >= 0)
+ self.assertTrue(res.find('Not Deleted 0 BVC') < 0)
+ self.assertTrue(res.find('Not Deleted 0 NS-VC') >= 0)
res = self.vty.command("delete-gbproxy-peer 9999 all")
- self.assert_(res.find('Deleted 0 BVC') >= 0)
- self.assert_(res.find('Deleted 0 NS-VC') >= 0)
+ self.assertTrue(res.find('Deleted 0 BVC') >= 0)
+ self.assertTrue(res.find('Deleted 0 NS-VC') >= 0)
class TestVTYSGSN(TestVTYBase):
def vty_command(self):
- return ["./src/gprs/osmo-sgsn", "-c",
+ return ["./src/sgsn/osmo-sgsn", "-c",
"doc/examples/osmo-sgsn/osmo-sgsn-accept-all.cfg"]
def vty_app(self):
- return (4245, "./src/gprs/osmo-sgsn", "OsmoSGSN", "sgsn")
+ return (4245, "./src/sgsn/osmo-sgsn", "OsmoSGSN", "sgsn")
def testVtyTree(self):
self.vty.enable()
self.assertTrue(self.vty.verify('configure terminal', ['']))
- self.assertEquals(self.vty.node(), 'config')
+ self.assertEqual(self.vty.node(), 'config')
self.checkForEndAndExit()
self.assertTrue(self.vty.verify('ns', ['']))
- self.assertEquals(self.vty.node(), 'config-ns')
+ self.assertEqual(self.vty.node(), 'config-ns')
self.checkForEndAndExit()
self.assertTrue(self.vty.verify('exit', ['']))
- self.assertEquals(self.vty.node(), 'config')
+ self.assertEqual(self.vty.node(), 'config')
self.assertTrue(self.vty.verify('sgsn', ['']))
- self.assertEquals(self.vty.node(), 'config-sgsn')
+ self.assertEqual(self.vty.node(), 'config-sgsn')
self.checkForEndAndExit()
self.assertTrue(self.vty.verify('exit', ['']))
- self.assertEquals(self.vty.node(), 'config')
+ self.assertEqual(self.vty.node(), 'config')
def testVtyShow(self):
res = self.vty.command("show ns")
- self.assert_(res.find('Encapsulation NS-UDP-IP') >= 0)
+ self.assertTrue(res.find('Encapsulation NS-UDP-IP') >= 0)
self.assertTrue(self.vty.verify('show bssgp', ['']))
self.assertTrue(self.vty.verify('show bssgp stats', ['']))
- # TODO: uncomment when the command does not segfault anymore
- # self.assertTrue(self.vty.verify('show bssgp nsei 123', ['']))
- # self.assertTrue(self.vty.verify('show bssgp nsei 123 stats', ['']))
-
- self.assertTrue(self.vty.verify('show sgsn', ['']))
+ self.assertTrue(self.vty.verify('show bssgp nsei 123', ['']))
+ self.assertTrue(self.vty.verify('show bssgp nsei 123 stats', ['']))
+ self.assertTrue(self.vty.verify('show sgsn', [' GSN: signalling 127.0.0.1, user traffic 127.0.0.1']))
self.assertTrue(self.vty.verify('show mm-context all', ['']))
self.assertTrue(self.vty.verify('show mm-context imsi 000001234567', ['No MM context for IMSI 000001234567']))
self.assertTrue(self.vty.verify('show pdp-context all', ['']))
res = self.vty.command("show sndcp")
- self.assert_(res.find('State of SNDCP Entities') >= 0)
+ self.assertTrue(res.find('State of SNDCP Entities') >= 0)
res = self.vty.command("show llc")
- self.assert_(res.find('State of LLC Entities') >= 0)
+ self.assertTrue(res.find('State of LLC Entities') >= 0)
def testVtyAuth(self):
self.vty.enable()
self.assertTrue(self.vty.verify('configure terminal', ['']))
- self.assertEquals(self.vty.node(), 'config')
+ self.assertEqual(self.vty.node(), 'config')
self.assertTrue(self.vty.verify('sgsn', ['']))
- self.assertEquals(self.vty.node(), 'config-sgsn')
+ self.assertEqual(self.vty.node(), 'config-sgsn')
self.assertTrue(self.vty.verify('auth-policy accept-all', ['']))
res = self.vty.command("show running-config")
- self.assert_(res.find('auth-policy accept-all') > 0)
+ self.assertTrue(res.find('auth-policy accept-all') > 0)
self.assertTrue(self.vty.verify('auth-policy acl-only', ['']))
res = self.vty.command("show running-config")
- self.assert_(res.find('auth-policy acl-only') > 0)
+ self.assertTrue(res.find('auth-policy acl-only') > 0)
self.assertTrue(self.vty.verify('auth-policy closed', ['']))
res = self.vty.command("show running-config")
- self.assert_(res.find('auth-policy closed') > 0)
+ self.assertTrue(res.find('auth-policy closed') > 0)
self.assertTrue(self.vty.verify('gsup remote-ip 127.0.0.4', ['']))
self.assertTrue(self.vty.verify('gsup remote-port 2222', ['']))
self.assertTrue(self.vty.verify('auth-policy remote', ['']))
res = self.vty.command("show running-config")
- self.assert_(res.find('auth-policy remote') > 0)
+ self.assertTrue(res.find('auth-policy remote') > 0)
def testVtySubscriber(self):
self.vty.enable()
res = self.vty.command('show subscriber cache')
- self.assert_(res.find('1234567890') < 0)
+ self.assertTrue(res.find('1234567890') < 0)
self.assertTrue(self.vty.verify('update-subscriber imsi 1234567890 create', ['']))
res = self.vty.command('show subscriber cache')
- self.assert_(res.find('1234567890') >= 0)
- self.assert_(res.find('Authorized: 0') >= 0)
+ self.assertTrue(res.find('1234567890') >= 0)
+ self.assertTrue(res.find('Authorized: 0') >= 0)
self.assertTrue(self.vty.verify('update-subscriber imsi 1234567890 update-location-result ok', ['']))
res = self.vty.command('show subscriber cache')
- self.assert_(res.find('1234567890') >= 0)
- self.assert_(res.find('Authorized: 1') >= 0)
+ self.assertTrue(res.find('1234567890') >= 0)
+ self.assertTrue(res.find('Authorized: 1') >= 0)
self.assertTrue(self.vty.verify('update-subscriber imsi 1234567890 cancel update-procedure', ['']))
res = self.vty.command('show subscriber cache')
- self.assert_(res.find('1234567890') >= 0)
+ self.assertTrue(res.find('1234567890') >= 0)
self.assertTrue(self.vty.verify('update-subscriber imsi 1234567890 destroy', ['']))
res = self.vty.command('show subscriber cache')
- self.assert_(res.find('1234567890') < 0)
+ self.assertTrue(res.find('1234567890') < 0)
def testVtyGgsn(self):
self.vty.enable()
self.assertTrue(self.vty.verify('configure terminal', ['']))
- self.assertEquals(self.vty.node(), 'config')
+ self.assertEqual(self.vty.node(), 'config')
self.assertTrue(self.vty.verify('sgsn', ['']))
- self.assertEquals(self.vty.node(), 'config-sgsn')
+ self.assertEqual(self.vty.node(), 'config-sgsn')
self.assertTrue(self.vty.verify('ggsn 0 remote-ip 127.99.99.99', ['']))
self.assertTrue(self.vty.verify('ggsn 0 gtp-version 1', ['']))
self.assertTrue(self.vty.verify('apn * ggsn 0', ['']))
@@ -219,69 +213,78 @@ class TestVTYSGSN(TestVTYBase):
self.assertTrue(self.vty.verify('apn apn1.test imsi-prefix 123456 ggsn 0', ['']))
self.assertTrue(self.vty.verify('apn apn2.test imsi-prefix 123456 ggsn 0', ['']))
res = self.vty.command("show running-config")
- self.assert_(res.find('ggsn 0 remote-ip 127.99.99.99') >= 0)
- self.assert_(res.find('ggsn 0 gtp-version 1') >= 0)
- self.assert_(res.find('apn * ggsn 0') >= 0)
- self.assert_(res.find('apn apn1.test ggsn 0') >= 0)
- self.assert_(res.find('apn apn1.test imsi-prefix 123456 ggsn 0') >= 0)
- self.assert_(res.find('apn apn2.test imsi-prefix 123456 ggsn 0') >= 0)
+ self.assertTrue(res.find('ggsn 0 remote-ip 127.99.99.99') >= 0)
+ self.assertTrue(res.find('ggsn 0 gtp-version 1') >= 0)
+ self.assertTrue(res.find('apn * ggsn 0') >= 0)
+ self.assertTrue(res.find('apn apn1.test ggsn 0') >= 0)
+ self.assertTrue(res.find('apn apn1.test imsi-prefix 123456 ggsn 0') >= 0)
+ self.assertTrue(res.find('apn apn2.test imsi-prefix 123456 ggsn 0') >= 0)
def testVtyEasyAPN(self):
self.vty.enable()
self.assertTrue(self.vty.verify('configure terminal', ['']))
- self.assertEquals(self.vty.node(), 'config')
+ self.assertEqual(self.vty.node(), 'config')
self.assertTrue(self.vty.verify('sgsn', ['']))
- self.assertEquals(self.vty.node(), 'config-sgsn')
+ self.assertEqual(self.vty.node(), 'config-sgsn')
res = self.vty.command("show running-config")
- self.assertEquals(res.find("apn internet"), -1)
+ self.assertEqual(res.find("apn internet"), -1)
self.assertTrue(self.vty.verify("access-point-name internet.apn", ['']))
res = self.vty.command("show running-config")
- self.assert_(res.find("apn internet.apn ggsn 0") >= 0)
+ self.assertTrue(res.find("apn internet.apn ggsn 0") >= 0)
self.assertTrue(self.vty.verify("no access-point-name internet.apn", ['']))
res = self.vty.command("show running-config")
- self.assertEquals(res.find("apn internet"), -1)
+ self.assertEqual(res.find("apn internet"), -1)
def testVtyCDR(self):
self.vty.enable()
self.assertTrue(self.vty.verify('configure terminal', ['']))
- self.assertEquals(self.vty.node(), 'config')
+ self.assertEqual(self.vty.node(), 'config')
self.assertTrue(self.vty.verify('sgsn', ['']))
- self.assertEquals(self.vty.node(), 'config-sgsn')
+ self.assertEqual(self.vty.node(), 'config-sgsn')
res = self.vty.command("show running-config")
- self.assert_(res.find("no cdr filename") > 0)
+ self.assertTrue(res.find("no cdr filename") > 0)
self.vty.command("cdr filename bla.cdr")
res = self.vty.command("show running-config")
- self.assertEquals(res.find("no cdr filename"), -1)
- self.assert_(res.find(" cdr filename bla.cdr") > 0)
+ self.assertEqual(res.find("no cdr filename"), -1)
+ self.assertTrue(res.find(" cdr filename bla.cdr") > 0)
self.vty.command("no cdr filename")
res = self.vty.command("show running-config")
- self.assert_(res.find("no cdr filename") > 0)
- self.assertEquals(res.find(" cdr filename bla.cdr"), -1)
+ self.assertTrue(res.find("no cdr filename") > 0)
+ self.assertEqual(res.find(" cdr filename bla.cdr"), -1)
res = self.vty.command("show running-config")
- self.assert_(res.find(" cdr interval 600") > 0)
+ self.assertTrue(res.find(" cdr interval 600") > 0)
self.vty.command("cdr interval 900")
res = self.vty.command("show running-config")
- self.assert_(res.find(" cdr interval 900") > 0)
- self.assertEquals(res.find(" cdr interval 600"), -1)
+ self.assertTrue(res.find(" cdr interval 900") > 0)
+ self.assertEqual(res.find(" cdr interval 600"), -1)
+
+ def testVtyTimers(self):
+ self.vty.enable()
+ self.assertTrue(self.vty.verify('configure terminal', ['']))
+ self.assertEqual(self.vty.node(), 'config')
+ self.assertTrue(self.vty.verify('sgsn', ['']))
+ self.assertEqual(self.vty.node(), 'config-sgsn')
+ for t in [3312, 3322, 3350, 3360, 3370, 3313, 3314, 3316, 3385, 3395, 3397]:
+ self.assertTrue(self.vty.verify('timer t%d 10' % t, ['']))
def add_gbproxy_test(suite, workdir):
- if not os.path.isfile(os.path.join(workdir, "src/gprs/osmo-gbproxy")):
+ if not os.path.isfile(os.path.join(workdir, "src/gbproxy/osmo-gbproxy")):
print("Skipping the Gb-Proxy test")
return
test = unittest.TestLoader().loadTestsFromTestCase(TestVTYGbproxy)
suite.addTest(test)
def add_sgsn_test(suite, workdir):
- if not os.path.isfile(os.path.join(workdir, "src/gprs/osmo-sgsn")):
+ if not os.path.isfile(os.path.join(workdir, "src/sgsn/osmo-sgsn")):
print("Skipping the SGSN test")
return
test = unittest.TestLoader().loadTestsFromTestCase(TestVTYSGSN)
@@ -313,9 +316,9 @@ if __name__ == '__main__':
if args.p:
confpath = args.p
- print "confpath %s, workdir %s" % (confpath, workdir)
+ print("confpath %s, workdir %s" % (confpath, workdir))
os.chdir(workdir)
- print "Running tests for specific VTY commands"
+ print("Running tests for specific VTY commands")
suite = unittest.TestSuite()
add_gbproxy_test(suite, workdir)
add_sgsn_test(suite, workdir)
diff --git a/tests/xid/Makefile.am b/tests/xid/Makefile.am
index 6c3689f19..6f058f5a6 100644
--- a/tests/xid/Makefile.am
+++ b/tests/xid/Makefile.am
@@ -24,13 +24,12 @@ xid_test_SOURCES = \
$(NULL)
xid_test_LDADD = \
- $(top_builddir)/src/gprs/gprs_llc_xid.o \
+ $(top_builddir)/src/sgsn/gprs_llc_xid.o \
$(LIBOSMOABIS_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(LIBOSMOGSM_LIBS) \
$(LIBOSMOGB_LIBS) \
$(LIBCARES_LIBS) \
- $(LIBCRYPTO_LIBS) \
$(LIBGTP_LIBS) \
-lrt \
-lm \
diff --git a/tests/xid/xid_test.c b/tests/xid/xid_test.c
index b77a4ae85..89d82e999 100644
--- a/tests/xid/xid_test.c
+++ b/tests/xid/xid_test.c
@@ -19,8 +19,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <openbsc/gprs_llc_xid.h>
-#include <openbsc/debug.h>
+#include <osmocom/sgsn/gprs_llc_xid.h>
+#include <osmocom/sgsn/debug.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/utils.h>
@@ -142,17 +142,20 @@ static struct log_info info = {
int main(int argc, char **argv)
{
void *xid_ctx;
-
- osmo_init_logging(&info);
+ void *log_ctx;
xid_ctx = talloc_named_const(NULL, 0, "xid_ctx");
+ log_ctx = talloc_named_const(xid_ctx, 0, "log");
+ osmo_init_logging2(log_ctx, &info);
test_xid_decode(xid_ctx);
test_xid_encode(xid_ctx);
printf("Done\n");
talloc_report_full(xid_ctx, stderr);
+ talloc_free(log_ctx);
OSMO_ASSERT(talloc_total_blocks(xid_ctx) == 1);
+ talloc_free(xid_ctx);
return 0;
}