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