This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Holger Freyther gerrit-no-reply at lists.osmocom.org
Review at https://gerrit.osmocom.org/2451
mncc: Make it possible to build a MNCC server for testing
For manual testing the osmo-sip-connector it is nice to run a custom
MNCC server to mock certain behavior. Refactor the socket class to
share code between client/server.
Change-Id: I8387fe1687557c6a1a26ff1e0cc9dbff3087aa82
---
M mncc_sock.py
1 file changed, 32 insertions(+), 13 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/51/2451/1
diff --git a/mncc_sock.py b/mncc_sock.py
index 48da514..3d29691 100644
--- a/mncc_sock.py
+++ b/mncc_sock.py
@@ -52,21 +52,13 @@
plan = num_plan, present = num_present,
screen = num_screen)
-class MnccSocket(object):
- def __init__(self, address = '/tmp/bsc_mncc'):
- self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_SEQPACKET)
- print 'connecting to %s' % address
- try:
- self.sock.connect(address)
- except socket.error, errmsg:
- print >>sys.stderr, errmsg
- sys.exit(1)
-
- # FIXME: parse the HELLO message
- msg = self.recv()
-
+class MnccSocketBase(object):
def send(self, msg):
return self.sock.sendall(msg.send())
+
+ def send_msg(self, msg):
+ data = buffer(msg)[:]
+ return self.sock.sendall(data)
def recv(self):
data = self.sock.recv(1500)
@@ -76,3 +68,30 @@
ms = mncc_rtp_msg()
ms.receive(data)
return ms
+
+class MnccSocket(MnccSocketBase):
+ def __init__(self, address = '/tmp/bsc_mncc'):
+ super(MnccSocketBase, self).__init__()
+ self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_SEQPACKET)
+ print('connecting to %s' % address)
+ try:
+ self.sock.connect(address)
+ except socket.error as errmsg:
+ sys.stderr.write("%s\n" % errmsg)
+ sys.exit(1)
+
+ # FIXME: parse the HELLO message
+ msg = self.recv()
+
+class MnccSocketServer(object):
+ def __init__(self, address = '/tmp/bsc_mncc'):
+ os.unlink(address)
+ self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_SEQPACKET)
+ self.sock.bind(address)
+ self.sock.listen(5)
+
+ def accept(self):
+ (fd,_) = self.sock.accept()
+ sock = MnccSocketBase()
+ sock.sock = fd
+ return sock
--
To view, visit https://gerrit.osmocom.org/2451
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I8387fe1687557c6a1a26ff1e0cc9dbff3087aa82
Gerrit-PatchSet: 1
Gerrit-Project: mncc-python
Gerrit-Branch: master
Gerrit-Owner: Holger Freyther <holger at freyther.de>