Greetings,
Congrats on OsmoCon 2017!
I have been working with OsmocomBB, osmo-sim-auth, mncc-python projects in Osmocom.
I would like to contribute some code snippets with your acceptance.
To begin with I have committed:
I) MNCC with OsmocomBB -
https://github.com/GerardPinto/call-control-mncc-sap (Has both implementations in Python and C + Tested voice with gsm-fr with gsm audio file - works great).
- Some of which can be committed to mncc-python? (In order to support
MNCC with OsmocomBB too) Although, Harald told me it was built for
OpenNITB - I'm not sure, the relevance of this contribution to this repo?
Reason:
1. Solves some mailing list questions: Some questions on mailing list are pertaining sending voice from PC to phone and receive.
2.
Useful for test cases: In the future, if 'gsm-efr' codec is
implemented, we can use these snippets and send audio with gsm-efr
sample, instead of connecting to LCR (Am I correct?)
Issues faced: File: l23api.c | function: l1ctl_rx_traffic_req()
264
bits (33 bytes) of voice codec are interleaved into 456 bits. The DAC,
ciphering/deciphering , RF etc. work on 114 bits at a time so, 114 x 4 =
456.
So Layer23 sends 4 - 114 bits into the queue to Layer1 in function => l1ctl_rx_traffic_req
Code: num = l1a_txq_msgb_count(&l1s.tx_queue[L1S_CHAN_TRAFFIC])
if num > 4 dropping traffic frame. (114 x 4)
The code above indicates if queue has any (114 x 4) bits drop the incoming voice request.
So
I faced the issue of voice packets getting dropped, but that was just
twice/thrice and then it did not give me any trouble (I'm not sure how
it got fixed), I could hear clear voice gsm-fr on the called party cell phone.
My Question is:
If I happened to send voice packets 33 bytes really fast. There should
be some kind of buffer rather than a check (Code) and drop frame? - OR
this case can never happen?
My apologies, if my understanding is incorrect, I just tried to reverse engg. from code and GSM codec available online!
II) osmo-sim-auth with added other SIM related API's (still needs code clean up, SIM
response check, code re-usable, README.md etc,) https://github.com/GerardPinto/osmo-sim-auth
- I did check out PySIM (I think I can add some code to the existing repository, with your permission).
Could you please let me know if my osmo-sim-auth repo? If it is correct to combine with PySIM, with the changes done below?
Files modified:
1. SIM.py - Added more API's.
2. osmo-sim-auth.py - Options parser.
Thanks,
Gerard.