Commit Graph

7127 Commits

Author SHA1 Message Date
Neels Hofmeyr 80740dea04 fmtp wip
Change-Id: Ic7e10748ca1bcc0fa819779c8bda1d4f0a3b1092
2022-09-23 19:12:46 +02:00
Neels Hofmeyr b3be16e152 codec t9n: comment
Change-Id: Ia881a1624496b56d6237e45cff3b7bac04394cf9
2022-09-23 19:11:51 +02:00
Neels Hofmeyr 1b4667820e ran_msg: use full gsm0808_speech_codec
Change-Id: I8429e40f2d04ee9e2bc408b2b2182aa636c308ba
2022-09-23 19:11:51 +02:00
Neels Hofmeyr 8d962f9a1d use gsm0808_speech_codec
Change-Id: Ie72afae98f8efc04231af6f9e71daa9e84562bca
2022-09-23 19:11:50 +02:00
Neels Hofmeyr cb39fcedda codec t9n: use full speech_codec instead of enum mgcp_codec
Change-Id: Ibfa6f94b394c7aed5f2c5196ea3a7e8fd41b9e67
2022-09-23 19:01:09 +02:00
Neels Hofmeyr 221e26a770 fixme comments for AMR modes
Change-Id: I4a63bd21c3bc0cfa18777edf1426cbadd2fde7a3
2022-09-23 19:01:09 +02:00
Neels Hofmeyr 06c9ca4927 codecs: for IuUP, use AMR for codec matching
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-09-23 19:01:09 +02:00
Neels Hofmeyr 90b80e8591 sdp_msg: when NULL, do not crash but return empty SDP str
Change-Id: Ibd5c43fae61cd006d8fb42a06b99a609356f7037
2022-09-23 19:01:09 +02:00
Neels Hofmeyr 0b29968196 reset assignment codec on start_assignment
Make sure no stray values from previous assignment linger. When starting
Assignment, by definition codec_filter.assignment must be empty.

Change-Id: I58c25bbea9523b212934e9dad551e94bc01d6bba
2022-09-23 19:01:09 +02:00
Neels Hofmeyr da21269ffc assignment: clear codec when none was included
Change-Id: Ic2aea409c86bb1b0ee23200da597f5c8ef3aa2f1
2022-09-23 19:01:09 +02:00
Neels Hofmeyr 6f247f9f12 log chosen codec upon Assignment Complete
Change-Id: I22aef38e63420e203c4fa9b423958c1b1d778fe7
2022-09-23 19:01:09 +02:00
Neels Hofmeyr bf447644bd tweak scope in msc_a_up_call_assignment_complete()
Change-Id: Ie1ad7eae17946450d8680df6bad791d4bcba5e1a
2022-09-23 19:01:09 +02:00
Neels Hofmeyr fe18942d5c cc: make static: gsm48_cc_mt_rtp_port_and_codec_known()
Change-Id: Ifaec110a34dd454f65783158b7bfba041b358c5a
2022-09-23 19:01:09 +02:00
Neels Hofmeyr 352c88d537 HO Req: include IE Codec List (MSC Preferred)
Related: OS#5529
Change-Id: Ifcf719c5fc9e11749aafbd97bafda7f6f50973ea
2022-09-23 19:01:09 +02:00
Neels Hofmeyr 737a9b6c5d codec t9n: include full gsm0808_speech_codec in mapping
Change-Id: I498da95dbc30e873512dacd079957b383be71571
2022-09-23 19:01:09 +02:00
Neels Hofmeyr 97c5152610 codecs: compose HO Req Ch Type from cc.codecs
Change-Id: Iba7a1a87ec5e6b487f763e84d60ed285da7b8fe1
2022-09-23 19:01:09 +02:00
Neels Hofmeyr 987bd26e0b log: start codec_filter str with result
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-09-23 19:01:09 +02:00
Neels Hofmeyr e679fa146e sdp_msg.c: parse send/recv mode
Related: SYS#5066
Change-Id: I529c0bfad1cab376e26173ed48db2767c7dfaa64
2022-09-23 19:01:09 +02:00
Neels Hofmeyr 6e29b91ae2 add some comments to sdp_msg.c
Related: SYS#5066
Change-Id: I68aa4af5d84eaaa08a567377687b6292cce0ce94
2022-09-23 19:01:09 +02:00
Neels Hofmeyr 6a8b590ded comment: clarify L3 Info processing
Related: SYS#5066
Change-Id: Ia9180eeb88b31a2cf7dea72b43affd0c7b239ccb
2022-09-23 19:01:09 +02:00
Neels Hofmeyr 4b53b035b8 msc_vlr_test_call: test codecs resolution
Related: SYS#5066
Change-Id: I879ec61f523ad4ffc69a0b02810591f7c0261ff9
2022-09-23 19:01:09 +02:00
Neels Hofmeyr 7f4fd0f2a7 MNCC: do not send REL_IND twice
Add trans.cc.mncc_release_sent and skip MNCC_REL_IND if already true.

Related: SYS#5066
Change-Id: I449e1e4139af5f41da08ba9f6815ef74d8e13897
2022-09-23 19:01:09 +02:00
Neels Hofmeyr 79461d1263 mncc_recvmsg(): log caller file,line
Change-Id: I3755eb35b504f2f2580e0ba43dfa41f16087decc
2022-09-23 19:01:09 +02:00
Neels Hofmeyr 2b8ae17aa2 do CN CRCX first
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-09-23 19:01:09 +02:00
Neels Hofmeyr d109d953ad msc_vlr_tests: confirm crcx by RAN/CN side separately
Related: SYS#5066
Change-Id: I972e7426006e5b62f81ccfe4fa224ee9eed7a7ac
2022-09-23 19:01:09 +02:00
Neels Hofmeyr b7343a58cf compose trans->bearer_cap from remote MNCC codec info
Related: SYS#5066
Change-Id: Ic9aab3be5e683bea0319345c7e9cca836667f61f
2022-09-23 19:01:09 +02:00
Neels Hofmeyr 9e1584a031 send + receive SDP via MNCC
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-09-23 19:01:09 +02:00
Neels Hofmeyr bd03b45fb3 mncc_recv_rtp() add sdp arg
Related: SYS#5066
Change-Id: I73d1e9609c0d8ee304b439549f35b8e4a7e9e623
2022-09-23 19:01:09 +02:00
Neels Hofmeyr 03967d0585 rtp_stream: s/codec/codecs 2022-09-23 19:01:09 +02:00
Neels Hofmeyr bc934c0d80 rtp_stream: allow multiple codecs to be set
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-09-23 19:00:00 +02:00
Neels Hofmeyr d2b43e647e update codecs filter with BSS codecs from Assignment Complete
Related: SYS#5066
Change-Id: I5e66ecc7987fa926f39d8be8eaf5799b931ab20a
2022-09-23 19:00:00 +02:00
Neels Hofmeyr 212b121d30 msc_vlr_test_call: include RAN RTP addr in ass compl
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-09-23 19:00:00 +02:00
Neels Hofmeyr 40b3fc77ea MT call: store MS Bearer Cap from CC Call Conf
Related: SYS#5066
Change-Id: Ic3d0f05af57a493d500700c63b121c8114e7fbf4
2022-09-23 19:00:00 +02:00
Neels Hofmeyr ae2ce44529 MT call: init codecs filter with BSS codec list and SDP
Related: SYS#5066
Change-Id: I530409a64d11da48518a3dc60aa3a4e47c384663
2022-09-23 19:00:00 +02:00
Neels Hofmeyr ef63bc923f MO call: init codecs filter with BSS codec list
Related: SYS#5066
Change-Id: I062268406ae3f3a63a7f413db51c509c9eaf9e8a
2022-09-23 19:00:00 +02:00
Neels Hofmeyr f74c466354 msc_a: store BSS codec list from Compl L3
Related: SYS#5066
Change-Id: I7cdc348218433141a43d2e42750af02591688240
2022-09-23 19:00:00 +02:00
Neels Hofmeyr 36d18d2f55 add trans.cc.codecs
Related: SYS#5066
Change-Id: Ib3fdeff8d1e1ea0760168d63ee6e1b1fb993aa5f
2022-09-23 19:00:00 +02:00
Neels Hofmeyr 7eb4a50b2c codec t9n: add IUFP
Related: SYS#5066
Change-Id: Ie03e2b09f411acd3a0eded7121c9123e33f70b3e
2022-09-23 19:00:00 +02:00
Neels Hofmeyr 8f2905cb54 add api comment in sdp_msg.h
Related: SYS#5066
Change-Id: Ifce7d3860411a46b614eff2e9d9ed922cb8d8123
2022-09-23 19:00:00 +02:00
Neels Hofmeyr e45943bdc9 add codec_filter.h,c
Related: SYS#5066
Change-Id: I4d90f7ca62f2307a7b93dd164aeecbf4bd98ff0a
2022-09-23 19:00:00 +02:00
Neels Hofmeyr efbfc66c7f fix sdp_msg_to_sdp_str(), never add fmtp for unset codec
Change-Id: I1892efd9360585f98419ebbd0df180f7f3a8160d
2022-09-23 18:59:02 +02:00
Neels Hofmeyr 12d8dcc924 add sdp_audio_codec_is_set
Change-Id: I078efe5b42367ad1089c53f11f7eb6f3a9dd9443
2022-09-19 16:02:57 +02:00
Neels Hofmeyr 6b9c5cb3cd add codec_sdp_cc_t9n.h,c
Related: SYS#5066
Change-Id: Iaa307be6a8487aa8d4ba7cd59d5c5ef04818a744
2022-09-19 16:02:57 +02:00
Neels Hofmeyr 3280f006ef log CC timeouts
Change-Id: I857b4b15ebf75cf253697e96d358128620923221
2022-09-19 16:02:57 +02:00
Max be768ac302 Set working directory in systemd service file
By default systemd will execute service with root directory (or home directory for user instance) which might result in
attempts to create files in unexpected place. Let's set it to 'osmocom' subdir of state directory (/var/lib for system instance) instead.

Fixes: OS#5661
Change-Id: I0f942545d9e920ba8a2d8645512ec3414ab27418
2022-08-30 19:37:20 +07:00
Vadim Yanitskiy 088043fae4 contrib/jenkins.sh: do not override parallel make for libsmpp34
Parallel build has been fixed [1] and re-enabled [2] back in 2018.

Change-Id: I13d2d6f3b5ffae390cf429e41bf9035b8c551f66
Related: [1] I5a9d7dbd7b992d322ed0d852ebf8ca2252b51a12 libsmpp34.git
Related: [2] Id41fbcb5a96093eb6c3dc00bcacbd379111ada70 libsmpp34.git
2022-08-29 00:43:09 +07:00
Max 62977d0484 Add ESME-specific logging
Related: OS#5568
Change-Id: Ie5ddde762350385f8d18ee1d441584a41b0290ec
2022-08-05 22:12:09 +07:00
Max 5346f69a54 Introduce libsmpputil
As part of preparation for libosmo-netif migration let's move common SMPP code
into separate build-time library and use it for both smpp_mirror and OsmoMSC
renaming the files if necessary.

While at it we also fix id/password legth limits in smpp_mirror and drop unused
fields from ESME struct.

Related: OS#5568
Change-Id: I61910651bc7c188dc2fb67d96189a66a47e7e8fb
2022-08-05 22:12:09 +07:00
Max 3948fcc476 tests: use common stubs for SMS queue test
Related: OS#5568
Change-Id: Ic854eb919e6fcc82bd0245f62c72985b938c6b7a
2022-08-01 13:53:37 +00:00
Max 1470d0b870 ESME: use osmo_sock_get_name() for logging
This allows us to drop single-use parameters from osmo_esme to facilitate further code changes.

Related: OS#5568
Change-Id: I34bd4c145b0f6287a323e2350808feb59f1d3187
2022-08-01 13:53:37 +00:00