aboutsummaryrefslogtreecommitdiffstats
path: root/gsm_call_fsm.py
diff options
context:
space:
mode:
authorGerard Pinto <gerardfly9@gmail.com>2017-06-04 21:04:56 -0700
committerGerard Pinto <gerardfly9@gmail.com>2017-06-04 21:04:56 -0700
commit983231a70dea18f4a38d6f45ad235f3c8a1ad92e (patch)
treed9900da67f67dd11bcb1698f4b0dd44ebb7ef043 /gsm_call_fsm.py
parentce184f83f0ebad256fe05be75c2b53d03a5ee158 (diff)
Bearer capability not provided during MO call using mncc-python, which results in GSM IE error (96) invalid mandatory information sent by Network -> MS (mncc-python)
Verified this error by GSMTAP using mncc-python interface OsmocomBB to network Proposed Changes: In case of MO call (_onmncc_setup_req) caller needs to provide bearer_cap speech version Added mncc.bearer_cap in mncc_sock.py based on codecs = GSM48.AllCodecs Added new field mncc.MNCC_F_BEARER_CAP in mncc.MNCC_SETUP_REQ, when call is initiated (MO) from MS -> network Change-Id: If77851b86111d62d82221a886ed2391179080cca
Diffstat (limited to 'gsm_call_fsm.py')
-rw-r--r--gsm_call_fsm.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/gsm_call_fsm.py b/gsm_call_fsm.py
index fa15940..167a805 100644
--- a/gsm_call_fsm.py
+++ b/gsm_call_fsm.py
@@ -14,7 +14,7 @@ import ctypes
import pykka
from fysom import Fysom
-from mncc_sock import mncc_msg, mncc_number, mncc_rtp_msg, mncc_bridge_msg
+from mncc_sock import mncc_msg, mncc_number, mncc_rtp_msg, mncc_bridge_msg, mncc_bearer_cap
Uint32Array2 = mncc.uint32_t * 2
@@ -82,9 +82,10 @@ class GsmCallFsm(pykka.ThreadingActor):
def _onmncc_setup_req(self, e):
msg = mncc_msg(msg_type = mncc.MNCC_SETUP_REQ, callref = self.callref,
- fields = mncc.MNCC_F_CALLED | mncc.MNCC_F_CALLING,
+ fields = mncc.MNCC_F_CALLED | mncc.MNCC_F_CALLING | mncc.MNCC_F_BEARER_CAP,
calling = mncc_number(self.calling),
- called = mncc_number(self.called))
+ called = mncc_number(self.called),
+ bearer_cap = mncc_bearer_cap(self.codecs_permitted))
self.mncc_ref.tell({'type': 'send', 'msg': msg})
def find_matching_codec(self, ms_codecs):