aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2022-10-23debian buildrhizomatica/productionrhizomatica5-19/+10
2022-10-23SMS/GCR/LCLS: Avoid NULL pointers.Keith Whyte3-2/+8
Change-Id: I36128d1a5a4c74b227775ec3d2b9b6502686a2ba
2022-10-23Increase sanity in smsq_take_next_sms()Keith Whyte1-2/+2
Change-Id: I085d75472cf63709391b12f2fcf15ba9f67f64d0
2022-10-23Avoid rare NULL pointer in sms_submit_pending()Keith Whyte1-0/+3
Change-Id: I2ea164bf540c96503ea543864ad2755e563a9d17
2022-10-23Add VTY command for SMS queue trigger holdoffKeith Whyte4-3/+28
There are various places in the code that retrigger the SMS -> In Memory pending queue mechanism. The default was to trigger the queue in one second, which could result in running the queue every second. This parameter can ease the queue run interval in case one second is causing too much load. Sms _SHOULD_ be delivered anyway without these queue runs, due to for example, MS becoming available or due to being notified by the call back of a new SMS. Change-Id: I43d88342436d654afd6d955e304e7f85fbc4840f
2022-10-23Reduce the amount of sms queue runsKeith Whyte1-11/+2
Don't resumbit to the queue on MEM_EXCEEDED or on SMS_SMMA Also, don't try to submit more pending SMS in sms_send_next() There should be enough other places that are checking the database. Change-Id: I28c42106428cd7a343634c917677d5331d39da7e
2022-10-23Use unix timestamps in the SMS dbKeith Whyte1-6/+6
There's really no need to convert to/from human readable dateformat (YYYY-MM-DD HH:MM:SS) everytime we access a record in the SMS database. sqlite3 has pseudo column types. In fact this means the column type in the database schema is meaningless and anything will be accepted and stored. See (Flexible Typing) [1] It appears that more processing than might be expected is happening internally on such things as date conversions, as the database engine has to actually do verifications on the data. (Is this INT really an INT etc...) [1] https://www.sqlite.org/quirks.html Change-Id: I599a57666da22adf806b01ff095c8672d523a737
2022-10-23After RX of an SMPP Submit, send the SMS we just received.Keith Whyte4-3/+43
Previously, after we have stored the new SMS in the db, we then signalled the queue to run, but this is not good enough. The queue may not pick up this new SMS on the next run, if there are sufficient older messages in the queue. So let's specifically send the message that was just submitted. Change-Id: I9af51ef0d9c2e6c5acc5128efd6195df881b680c
2022-10-23Try to send all pending SMS for subscriber in sub_ready_for_sms()Keith Whyte1-0/+2
Change-Id: I5a1360a7a18312836b96b6be761a53b7d0b17d02
2022-10-23Prioritise SMS with least number of delivery attemptsKeith Whyte1-1/+1
Change-Id: I20365f5cd1be8d032501a86b59074efa4a3bd09f
2022-10-23Avoid UPDATE immediately followed by DELETEKeith Whyte5-23/+54
There is no need to mark an SMS as sent before deleting it. Avoid the extra database overhead involved in doing this. Change-Id: I777155c0f818b979c636bb59953719e472771603
2022-10-23Move VLR check to db.cKeith2-9/+25
Change-Id: Ibd07b9d200b48108d705ed4c461cc4ddfa421fd2
2022-10-15send lcls conn-ctrl according to SDP media addresseskeith/LCLS_SIPKeith Whyte1-1/+36
Detect if a SIP UE (probably a pbx) is re-INVITING itself out of the audio loop by checking the media endpoint ip/port. If thr PBX is going out of the Loop, send LCLS CONNECT, otherwise, RELEASE Change-Id: I83e1ff7c1523b6c6e53ee37a1b3967cd0dc194e1
2022-10-15Don't clear trans->cc.msg when local rtp port knownKeith Whyte1-2/+0
I used this info in looging later on while debugging this, I guess we can still clear it, not sure why. Change-Id: I2df8d1f53bff47b32938496998c4eb0e64db3524
2022-10-15Store GCR when we get the SETUP, don't wait till paging cbKeith Whyte1-12/+18
I originally placed this code in the paging callback, probably only because trans_lcls_compose() wants to check the msc_a for OSMO_RAT_GERAN_A and get LAC/CI etc for GCR generation. but we don't need any of that here. Change-Id: I32ac4e3da8bb6d44c4aa69fe8a67eedbe20a1c25
2022-10-15LCLS: Add function trans_find_by_same_gcr()Keith Whyte2-0/+25
Change-Id: I6a4df44099a23530839180047f2436b3d74887b5
2022-10-15Don't set lcls control to CONNECT by defaultKeith Whyte1-1/+1
Change-Id: I69fab402b7e02fa5de39ca288c42df0f9e50f483
2022-10-15Add support for MSC initiated LCLS-CONNECT-CTRLKeith Whyte3-0/+26
Change-Id: Ib30ee53ded8f09e819eae770489a92cc60b2c9a3
2022-10-13codec t9n: commentNeels Hofmeyr1-0/+4
Change-Id: Ia881a1624496b56d6237e45cff3b7bac04394cf9
2022-10-13codec t9n, ran_msg: use full gsm0808_speech_codecNeels Hofmeyr8-43/+56
Do not use enum mgcp_codec, a rather limited codec representation, but gsm0808_speech_codec, which is actually used in BSSMAP codec negotiation. Change-Id: Ibfa6f94b394c7aed5f2c5196ea3a7e8fd41b9e67
2022-10-13fixme comments for AMR modesNeels Hofmeyr1-0/+2
Change-Id: I4a63bd21c3bc0cfa18777edf1426cbadd2fde7a3
2022-10-13codecs: for IuUP, use AMR for codec matchingNeels Hofmeyr1-0/+11
For finding usable codecs / matching codecs with remote call leg, use AMR in place of IUFP. On Iu, to the MGW we need to set the codec VND.3GPP.IUFP on the RAN facing side. On the CN facing side, we indicate AMR instead, so that the MGW decapsulates the IuUP into plain AMR RTP. Related: SYS#5092 Change-Id: I752505dd8e2360665417cdba6a93cfa1490e4b70
2022-10-13sdp_msg: when NULL, do not crash but return empty SDP strNeels Hofmeyr1-2/+10
Change-Id: Ibd5c43fae61cd006d8fb42a06b99a609356f7037
2022-10-13reset assignment codec on start_assignmentNeels Hofmeyr1-0/+1
Make sure no stray values from previous assignment linger. When starting Assignment, by definition codec_filter.assignment must be empty. Change-Id: I58c25bbea9523b212934e9dad551e94bc01d6bba
2022-10-13assignment: clear codec when none was includedNeels Hofmeyr1-0/+2
Change-Id: Ic2aea409c86bb1b0ee23200da597f5c8ef3aa2f1
2022-10-13log chosen codec upon Assignment CompleteNeels Hofmeyr2-0/+16
Change-Id: I22aef38e63420e203c4fa9b423958c1b1d778fe7
2022-10-13tweak scope in msc_a_up_call_assignment_complete()Neels Hofmeyr1-1/+1
Change-Id: Ie1ad7eae17946450d8680df6bad791d4bcba5e1a
2022-10-13cc: make static: gsm48_cc_mt_rtp_port_and_codec_known()Neels Hofmeyr1-1/+1
Change-Id: Ifaec110a34dd454f65783158b7bfba041b358c5a
2022-10-13HO Req: include IE Codec List (MSC Preferred)Neels Hofmeyr3-0/+29
Related: OS#5529 Change-Id: Ifcf719c5fc9e11749aafbd97bafda7f6f50973ea
2022-10-13codec t9n: include full gsm0808_speech_codec in mappingNeels Hofmeyr2-20/+45
Change-Id: I498da95dbc30e873512dacd079957b383be71571
2022-10-13codecs: compose HO Req Ch Type from cc.codecsNeels Hofmeyr1-3/+4
Change-Id: Iba7a1a87ec5e6b487f763e84d60ed285da7b8fe1
2022-10-13log: start codec_filter str with resultNeels Hofmeyr2-79/+81
The most interesting information is which result the codec filter ends up with. So print the resulting codec intersection first, add the filter stages after that. Change-Id: If1e7d3c224b214fa8e9267bb98b60eb66923bfc7
2022-10-13sdp_msg.c: parse send/recv modeNeels Hofmeyr4-9/+35
Related: SYS#5066 Change-Id: I529c0bfad1cab376e26173ed48db2767c7dfaa64
2022-10-13add some comments to sdp_msg.cNeels Hofmeyr1-0/+13
Related: SYS#5066 Change-Id: I68aa4af5d84eaaa08a567377687b6292cce0ce94
2022-10-13comment: clarify L3 Info processingNeels Hofmeyr2-1/+2
Related: SYS#5066 Change-Id: Ia9180eeb88b31a2cf7dea72b43affd0c7b239ccb
2022-10-13msc_vlr_test_call: test codecs resolutionNeels Hofmeyr4-15/+3739
Related: SYS#5066 Change-Id: I879ec61f523ad4ffc69a0b02810591f7c0261ff9
2022-10-13MNCC: do not send REL_IND twiceNeels Hofmeyr3-0/+19
Add trans.cc.mncc_release_sent and skip MNCC_REL_IND if already true. Related: SYS#5066 Change-Id: I449e1e4139af5f41da08ba9f6815ef74d8e13897
2022-10-13mncc_recvmsg(): log caller file,lineNeels Hofmeyr2-10/+15
Change-Id: I3755eb35b504f2f2580e0ba43dfa41f16087decc
2022-10-13do CN CRCX firstNeels Hofmeyr7-289/+551
In order to send the MSC's RTP endpoint IP address+port in the inital SDP, move the MGCP CRCX up to an earlier point in the sequence of establishing a voice call. Update the voice call sequence chart to show the effects. Related: SYS#5066 Change-Id: Ie433db1ba0c46d4b97538a969233c155cefac21c
2022-10-13msc_vlr_tests: confirm crcx by RAN/CN side separatelyNeels Hofmeyr3-21/+26
Related: SYS#5066 Change-Id: I972e7426006e5b62f81ccfe4fa224ee9eed7a7ac
2022-10-13compose trans->bearer_cap from remote MNCC codec infoNeels Hofmeyr3-10/+43
Related: SYS#5066 Change-Id: Ic9aab3be5e683bea0319345c7e9cca836667f61f
2022-10-13send + receive SDP via MNCCNeels Hofmeyr4-7/+116
CC MNCC | ---ALERTING--> | add SDP to MNCC msg | <--ALERTING--- | store remote side SDP | <--SETUP-RESP- | store remote side SDP | --SETUP-CNF--> | add SDP to MNCC msg | -RTP-CREATE--> | use codec_filter, add SDP | <-RTP-CONNECT- | store remote SDP Related: SYS#5066 Change-Id: Ie0668c0e079ec69da1532b52d00621efe114fc2c
2022-10-13mncc_recv_rtp() add sdp argNeels Hofmeyr1-3/+7
Related: SYS#5066 Change-Id: I73d1e9609c0d8ee304b439549f35b8e4a7e9e623
2022-10-13rtp_stream: s/codec/codecsNeels Hofmeyr10-80/+81
2022-10-13rtp_stream: allow multiple codecs to be setNeels Hofmeyr12-96/+182
Many members, arguments and logging says "codec", which should accurately now say "codecs" (plural). Postpone such renaming to a separate patch, to better show actual functional changes here. Related: SYS#5066 Change-Id: If9c67b298b30f893ec661f84c9fc622ad01b5ee5
2022-10-13update codecs filter with BSS codecs from Assignment CompleteNeels Hofmeyr1-0/+5
Related: SYS#5066 Change-Id: I5e66ecc7987fa926f39d8be8eaf5799b931ab20a
2022-10-13msc_vlr_test_call: include RAN RTP addr in ass complNeels Hofmeyr2-25/+26
I noticed by chance that the Assignment Complete message generated in the test lacks a remote RTP address for the RAN side. Make the test more realistic by adding a remote RTP address and port. It doesn't have much bearing on the tests, though. Change-Id: Ia428762a16dcc17f036d725a00e0b3767418289b
2022-10-13MT call: store MS Bearer Cap from CC Call ConfNeels Hofmeyr1-0/+4
Related: SYS#5066 Change-Id: Ic3d0f05af57a493d500700c63b121c8114e7fbf4
2022-10-13MT call: init codecs filter with BSS codec list and SDPNeels Hofmeyr2-0/+31
Related: SYS#5066 Change-Id: I530409a64d11da48518a3dc60aa3a4e47c384663
2022-10-13MO call: init codecs filter with BSS codec listNeels Hofmeyr2-0/+13
Related: SYS#5066 Change-Id: I062268406ae3f3a63a7f413db51c509c9eaf9e8a