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.orgReview 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>