AgeCommit message (Collapse)AuthorFilesLines
2020-01-02Bump version: 1.3.1 → 1.4.0HEAD1.4.0masterPau Espin Pedrol1-0/+22
Change-Id: Ia6693372994791bac4ab86808729f5e568dd9176
2019-12-17logging from sofia: add missing newlineNeels Hofmeyr1-1/+13
Sometimes, logging from sofia lacks the final newline character, messing up log output. First snprintf() to a buffer, add '\n' if necessary and then log. Change-Id: Ia26c0b57a0166cf7de87c49471ce6f528a366dd5 switch to python 3osmith/fix-python3Oliver Smith1-1/+1
Make build and external tests work with python3, so we can drop the python2 dependency. This should be merged shortly after osmo-python-tests was migrated to python3, and the jenkins build slaves were (automatically) updated to have the new osmo-python-tests installed. Related: OS#2819 Depends: osmo-python-tests I3ffc3519bf6c22536a49dad7a966188ddad351a7 Change-Id: Ic913e336a5a962fe9515479b03eecdbef0917721
2019-11-28MNCC v6: add optional SDP to the socket protocolNeels Hofmeyr2-1/+10
Add the new SDP section to the MNCC socket protocol, but do not yet implement forwarding SDP from SIP. Implementing SDP forwarding follows in a subsequent patch. It is still possible to establish a call with empty SDP: the new osmo-msc on the MT side, receiving an MNCC_SETUP_REQ, will hit an error log: "Got no information of remote audio codecs: neither SDP nor Bearer Capability. Trying anyway." and then hold thumbs to hit a codec match, analogous to previous behavior. Note that osmo-sip-connector should actually always have encoded a Bearer Capability in the MNCC protocol in the MT MNCC_SETUP_REQ message, but never has. Now we are ready to leapfrog from zero codec info to full SDP. This patch must be merged at the same time as osmo-msc patch Ie16f0804c4d99760cd4a0c544d0889b6313eebb7, so that both sides have a matching MNCC protocol version number. Change-Id: Iaca9ed6611fc5ca8ca749bbbefc31f54bea5e925
2019-11-28mncc.c: fix gsm_mncc_rtp size checksOliver Smith1-2/+2
Verify is the parsed data is at least the size of the struct, not exactly the size. Make it accept messages with additional data, like the SDP information the TTCN-3 testsuite is sending since Ic9568c8927507e161aadfad1a4d20aa896d8ae30. This change makes the size checks consistent with the two other size checks in the file: if (rc < sizeof(*rtp)) { if (rc < sizeof(**mncc)) { Related: OS#4282 Change-Id: I522ce7f206932a816a64f03d916799c3215bb8c7
2019-11-23exit if the sip agent failed to startAlexander Couzens1-2/+4
When the sip agent start fails (i.e. port can not bind because IP doesn't exist) exit the sip-connector Relates: OS#4197 Change-Id: I22ed16c77391b4f270df498dda587ed657279390
2019-09-16.service: require to ran after network-online.targetAlexander Couzens1-0/+2
Relates: OS#4197 Change-Id: I09bf8139582ef198fdbe664be32b14d8c9c99f1a
2019-09-02mncc: check fd before closing a connectionPhilipp Maier1-0/+6
The function close_connection() closes the fd without marking it as closed. Lets set the fd to -1 and check at the beginning if it is greater than zero. This prevents us from closing an already closed fd again. Related: OS#4159 Change-Id: I9742f31a37296fed15d54cf44c1f65b93abb8c8e
2019-08-09coverity: Address issue found by coverityKeith1-1/+11
Add NULL checks on the return value of call_leg_other() in update_rtp() If the remote side has requested media change and we cannot find the other leg, then release call. This should not happen. Also, Add an assert to show that we cannot be here without call type of SIP or MNCC (not related to coverity) Fixes: CID#202863 Change-Id: I6f1f26533a25c93f243090bc02f1bc83b9108d42
2019-08-08Bump version: → Espin Pedrol1-0/+41
Change-Id: I3d3d048380753431c313cffa82de430dfbd3b93c
2019-08-08Require newer libosmocore 1.0.0Pau Espin Pedrol2-4/+4
Use of osmo_mncc_name() requires libosmocore 0.12.0 Use of gsm48_cc_cause_name() requires libosmocore 1.0.0 Change-Id: I466140a9c1e05c191fe1b079cf3615fd6ac5fb8c
2019-08-07In hold/retrieve/reinvite, add check that other_leg existsKeith2-0/+31
We should always check that the other leg did not somehow dissapear before accessing it. Change-Id: I947aab6c0cc5019929bde1c7012e1a8c3d3472a5
2019-08-07Logging: Make use of Levels, clarify some messagesKeith2-20/+20
Up to now most logging is on LDEBUG, lets make more use of Log Levels. reserve NOTICE for unusual events INFO: normal call setup/teardown DEBUG, well.. it's DEBUG * BYE is not an Error. * 4XX or 5XX response to INVITE is not an Error don't log as such. * 183 does not necessarily mean "ringing". Change those log messages for clarity. Change-Id: Ie0014043d93303a87cbb8bb351e439ff78651cbe
2019-08-07Handle case where SIP side hangsup while MNCC is on holdKeith1-0/+1
Change-Id: Ie32690e036180e6b80a1b59177c1a72a6fd78d15
2019-08-07Cosmetic: Logging and Comments, spelling and clarity changesKeith5-21/+21
Also removes a comment in sdp_create_file() about the IP address in o= and c= having to be the same. It is completely legal in SDP and often normal for the originator and the connection information IP to be different. Change-Id: I057573467c335fc27ead391c0bb4c775f2f6ba0a
2019-08-06Define hold/retrieve functions for MO callsKeith1-0/+2
My original patch that introduced this functionality, bd2d14bd4af592c2694217d84aaf81d759d2ca1 only did so for MT calls. Change-Id: Ifd42ed94053f6a38abfe6d6b18e2fe3582d037bb
2019-08-06Fix bug with MO calls not connecting.Keith1-3/+5
Fixes a bug I introduced in 5f73c2033b6b4e690f30292020d7361f48b5f2c2 where we would not call mncc_call_leg_connect() on receiving 200 from SIP side, and therefore never send MNCC_SETUP_RSP to the MS Fixes: 5f73c2033b6b4e690f30292020d7361f48b5f2c2 Change-Id: Ic7cc56c0d68a27eb1229c0c4aa1fa54d00b660b6
2019-08-06inet_ntoa() is deprecated, use inet_ntop() insteadKeith3-6/+17
Change-Id: If6a96ede7d5e73884c32fbfdb03052e2bda50a77
2019-08-06Following from previous commit, assume other->ip is network byte orderKeith1-1/+1
Change-Id: I3641a843a3b4a9b2686c1a07d48f52527dce46a2
2019-08-06IPs stored in the call struct are NETWORK byte orderKeith1-3/+3
As far as I can make out, the intention is to always store ip address in the call struct in network byte order, whereas the ip address sent on MNCC are in host byte order. Change-Id: I89ef26aa32a672f394699251cf560b53ae01a814
2019-08-05Remove undefined param passed to {logging,osmo_stats}_vty_add_cmdsPau Espin Pedrol1-2/+2
Since March 15th 2017, libosmocore API logging_vty_add_cmds() had its parameter removed (c65c5b4ea075ef6cef11fff9442ae0b15c1d6af7). However, definition in C file doesn't contain "(void)", which means number of parameters is undefined and thus compiler doesn't complain. Let's remove parameters from all callers before enforcing "(void)" on it. API osmo_stats_vty_add_cmds never had a param list but has seem problem (no "void"), so some users decided to pass a parameter to it. Change-Id: Ie519d4a4064a95803c33fd6969b53e1ef27045b7 Related: OS#4138
2019-08-05Only send update to MNCC if media info changed.Keith1-2/+2
Do not send an MNCC_RTP_CONNECT as a result of a SIP re-INVITE, unless the media connection information has changed. Change-Id: I7c48300092a309e50a8fe091b30e395e7c72de9d
2019-08-05Add support for MNCC HOLD/RETRIEVEKeith2-7/+55
Handle MO hold and retrieve and pass this to the SIP side. Handle the 200 from the SIP side in response to our HOLD-ing re-INVITE. With this commit we now handle MO hold and therefore also handle call-waiting and swapping. Change-Id: Ife7bdab20cde92b7ce550215bab28b36a0f302e9
2019-08-05Prepare to support MO Call HOLDKeith3-0/+55
Add function pointers to the call_leg struct for call hold and retrieve. Add function to send re-INVITE to SIP side when MNCC side puts call on HOLD/RETRIEVES. Add MNCC/SIP CC_HOLD to call states. Change-Id: I2595626dfa50eb2f8e29a02540b708c9c1dce88c
2019-08-05Handle SIP re-INVITEsKeith5-6/+158
SIP end points can send periodic re-INVITES. Previous to this commit, the osmo-sip-connector would send a new call SETUP to the MSC for each re-INVITE. Add a function to find if we already handle this call based on the nua handle. Use this function to detect and respond with an ACK to re-INVITES. Add a function to extract the media mode from the SDP. In the case the re-INVITE has a=sendonly (HOLD) respond with a=recvonly In the case that the re-INVITE changes the media connection ip/port, forward this to the MNCC side with an MNCC_RTP_CONNECT Change-Id: I4083ed50d0cf1b302b80354fe0c2b73fc6e14fed
2019-08-01Add media mode parameter to sdp_create_file()Keith3-6/+29
This enables call hold implemented by subsequent commits Prior to this commit, osmo-sip-connector would not send any media mode attribute in the sdp. After this commit we will by default always include a=sendrecv. Given that a media mode attribute of "sendrecv" is default and implicit it its absense, this does not represent any functional change. Change-Id: Ib4212d0174955042e7d80d3744ce632a4942ccb2
2019-07-10contrib/ run "make maintainer-clean"Oliver Smith1-0/+1
Related: OS#3047 Change-Id: Ie2e181a6e74053c407f7ed3db17631ae041c9754
2019-05-29debian: create -doc subpackage with pdf manualsOliver Smith4-2/+18
I have verified, that the resulting debian packages build in my own OBS namespace (see the -doc packages): Depends: Ib7251cca9116151e473798879375cd5eb48ff3ad (osmo-ci) Related: OS#3899 Change-Id: I30df67b1c31f07e85002da4c2c75afb67ba529d2
2019-05-22Cosmetic: debian: build-depends in multiple linesOliver Smith1-1/+8
Change-Id: I2d126341d8653408b0a6a371088aead58b61bb84
2019-04-29Properly indent config fileDaniel Willmann1-3/+3
osmo-config-merge expects only one space indentation for each level and the VTY also outputs the config formatted like that. Change-Id: I9c7a5bc6b3eae955288dada80abc856779ca9336
2019-04-21MNCC: Do not continue with B leg if A leg is cancelled.Harald Welte1-2/+13
In case we receive MNCC_RTP_CREATE after MNCC_DISC_IND, check if the call is already marked in_release and if so, send MNCC_REJ_REQ and do not proceed with the B leg. Related: OS#3518 Change-Id: I0eca9a741f7924c2fc32c503dd1a0fc083f94f37
2019-04-18Added daemonize feature to osmo-sip-connectorrafael2k/daemonizeRafael Diniz1-2/+16
Change-Id: I400fb5a2619f348cc60e8c9016154afa60424e66
2019-03-19Support Emergency CallingKeith1-5/+19
LCR supports emergency calling by sending the string 'emergency' as callee to the SIP side. This does the same Change-Id: I5d0adb61dfa82e7ded5f41d9bc773d546112c9f1
2019-02-14cosmetic: use OSMO_STRLCPY_ARRAY() instead of osmo_strlcpy()Harald Welte1-1/+1
This saves us the extra sizeof(). Change-Id: If329f122017c0c5b5222e46d55f39731c5bdf662
2019-02-14Support International Caller IDKeith1-2/+8
When the SIP call source contains + as first character, set the TON to International so that the MS displays caller ID correctly Change-Id: Idcfa31aff90e04dd0aa3583957f288889b1bbefe
2019-01-21Bump version: 1.1.0 → Welte1-0/+57
Change-Id: Ia3926179b9020ba597d8dda727da89a20ff4bdce
2018-12-06contrib: fix makedistcheck with disabled systemdOliver Smith1-1/+2
EXTRA_DIST files need to be distributed, no matter if the systemd option is configured or not. Change-Id: I1169c1c6d99628d2cbed67cac3ed675d778597b0
2018-12-05contrib/ build and publish manualsOliver Smith1-2/+20
Add new environment variables WITH_MANUALS and PUBLISH to control if the manuals should be built and uploaded. Describe all environment vars on top of the file. When WITH_MANUALS is set, install osmo-gsm-manuals like any other dependency and add --enable-manuals to the configure flags (for "make" and "make distcheck"). Add the bin subdir of the installed files to PATH, so osmo-gsm-manuals-check-depends can be used by ./configure. Related: OS#3385 Change-Id: I4cf9d3c21f3912eac3c51bae1ac7b2ad0845c947
2018-12-04Fix DISTCHECK_CONFIGURE_FLAGS overrideOliver Smith1-1/+1
Set AM_DISTCHECK_CONFIGURE_FLAGS in instead of DISTCHECK_CONFIGURE_FLAGS. This is the recommended way from the automake manual, as otherwise the flag can't be changed by the user anymore. Related: OS#3718 Change-Id: I6aadee1ab05b4caec0857e476190db7b83c85984
2018-11-27build manuals moved here from osmo-gsm-manuals.gitOliver Smith7-22/+85
Moved to doc/manuals/, with full commit history, in preceding merge commit. Now incorporate in the build system. Build with: $ autoreconf -fi $ ./configure --enable-manuals $ make Shared files from osmo-gsm-manuals.git are found automatically if - the repository is checked out in ../osmo-gsm-manuals; or - if it osmo-gsm-manuals was installed with "make install"; or - OSMO_GSM_MANUALS_DIR is set. Related: OS#3385 Change-Id: I1317131ed6765fec996344fc6ed08350187b615b
2018-11-27Merge history from osmo-gsm-manuals.gitNeels Hofmeyr9-0/+1441
Change-Id: Ia3eed1030966e0ed9f3e0bfdaa3939cfcec1f70a
2018-11-27sip-connector: update vty referenceNeels Hofmeyr1-14/+106
Change-Id: I79b91847337b6022f8f750533301b3bf0eb086df
2018-11-27running: Add note about DTMF supportPhilipp Maier1-0/+26
osmo-sip-connector does not yet support full DTMF support. The current implementation only supports DTMF tones to be send from MNCC to SIP, but not in the opposite direction. Change-Id: I578e50b0a42d88b05cf6da80443b71494b5eb26f Related: OS#2777
2018-11-27osmo-sip-connector: Explicitly note OsmoMSC config with external MNCCDaniel Willmann1-0/+4
Change-Id: Ia186ea48b1012e65dc6446c839fdb548d44b6a6c
2018-11-27OsmoSIPConnector: fix: avoid OsmoMGW/OsmoSIPcon confusionVadim Yanitskiy1-7/+7
Change-Id: If20700d94775e91f174a1a07e00820ef0a91cd2f
2018-11-27Add manual for OsmoSIPConnectorDaniel Willmann6-0/+233
Ticket: OS#1684 Change-Id: I70d3014deb459e0b91a9a92c60710b994153538e
2018-11-27Add VTY reference for osmo-sip-connectorDaniel Willmann4-0/+1086
Ticket: OS#1684 Change-Id: I1045c20dd7234d425836ba93fa292a35ccddc7fd
2018-11-27Importing history from osmo-gsm-manuals.gitNeels Hofmeyr0-0/+0
Change-Id: I4ed6bb3991c16fd041a73d263f43efcd0071f875
2018-11-12Allow GSM340_PLAN_UNKNOWN on MNCC originated leg.Keith Whyte1-4/+6
Allows dialing of numbers with GSM340_PLAN_UNKNOWN, for example a number beginning with '*' Change-Id: I8d71cac5b169e3b19675b9b9626e6993f3acd979 add --enable-sanitizeNeels Hofmeyr1-0/+12
Add --enable-sanitize to ./configure, as a copy-paste from libosmocore. When building libosmocore with --enable-sanitize, osmo-sip-connector cannot be linked if it doesn't include asan as well. This is particularly annoying to me when using sanitize.opts in osmo-dev. I'd have to turn off *all* asan everywhere just to include the osmo-sip-connector dep that was recently added. Change-Id: I18761802db2f29d9f0c7f269197d5b5e191142c5