Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
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
|
|
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
|
|
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
|
|
Relates: OS#4197
Change-Id: I09bf8139582ef198fdbe664be32b14d8c9c99f1a
|
|
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
|
|
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
|
|
Change-Id: I3d3d048380753431c313cffa82de430dfbd3b93c
|
|
Use of osmo_mncc_name() requires libosmocore 0.12.0
Use of gsm48_cc_cause_name() requires libosmocore 1.0.0
Change-Id: I466140a9c1e05c191fe1b079cf3615fd6ac5fb8c
|
|
We should always check that the other leg did not somehow
dissapear before accessing it.
Change-Id: I947aab6c0cc5019929bde1c7012e1a8c3d3472a5
|
|
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
|
|
Change-Id: Ie32690e036180e6b80a1b59177c1a72a6fd78d15
|
|
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
|
|
My original patch that introduced this functionality,
bd2d14bd4af592c2694217d84aaf81d759d2ca1
only did so for MT calls.
Change-Id: Ifd42ed94053f6a38abfe6d6b18e2fe3582d037bb
|
|
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
|
|
Change-Id: If6a96ede7d5e73884c32fbfdb03052e2bda50a77
|
|
Change-Id: I3641a843a3b4a9b2686c1a07d48f52527dce46a2
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Related: OS#3047
Change-Id: Ie2e181a6e74053c407f7ed3db17631ae041c9754
|
|
I have verified, that the resulting debian packages build in my own OBS
namespace (see the -doc packages):
https://download.opensuse.org/repositories/home:/osmith42/Debian_9.0/all/
https://build.opensuse.org/project/show/home:osmith42
Depends: Ib7251cca9116151e473798879375cd5eb48ff3ad (osmo-ci)
Related: OS#3899
Change-Id: I30df67b1c31f07e85002da4c2c75afb67ba529d2
|
|
Change-Id: I2d126341d8653408b0a6a371088aead58b61bb84
|
|
osmo-config-merge expects only one space indentation for each level and
the VTY also outputs the config formatted like that.
Change-Id: I9c7a5bc6b3eae955288dada80abc856779ca9336
|
|
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
|
|
Change-Id: I400fb5a2619f348cc60e8c9016154afa60424e66
|
|
LCR supports emergency calling by sending the string 'emergency' as callee to
the SIP side.
This does the same
Change-Id: I5d0adb61dfa82e7ded5f41d9bc773d546112c9f1
|
|
This saves us the extra sizeof().
Change-Id: If329f122017c0c5b5222e46d55f39731c5bdf662
|
|
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
|
|
Change-Id: Ia3926179b9020ba597d8dda727da89a20ff4bdce
|
|
EXTRA_DIST files need to be distributed, no matter if the systemd option
is configured or not.
Change-Id: I1169c1c6d99628d2cbed67cac3ed675d778597b0
|
|
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
|
|
Set AM_DISTCHECK_CONFIGURE_FLAGS in Makefile.am 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
|
|
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
|
|
Change-Id: Ia3eed1030966e0ed9f3e0bfdaa3939cfcec1f70a
|
|
Change-Id: I79b91847337b6022f8f750533301b3bf0eb086df
|
|
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
|
|
Change-Id: Ia186ea48b1012e65dc6446c839fdb548d44b6a6c
|
|
Change-Id: If20700d94775e91f174a1a07e00820ef0a91cd2f
|
|
Ticket: OS#1684
Change-Id: I70d3014deb459e0b91a9a92c60710b994153538e
|
|
Ticket: OS#1684
Change-Id: I1045c20dd7234d425836ba93fa292a35ccddc7fd
|
|
Change-Id: I4ed6bb3991c16fd041a73d263f43efcd0071f875
|
|
Allows dialing of numbers with GSM340_PLAN_UNKNOWN,
for example a number beginning with '*'
Change-Id: I8d71cac5b169e3b19675b9b9626e6993f3acd979
|
|
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
|
|
Related: OS#3577
Change-Id: Ibdda54acddde0ac03e202286736d56b6fa51a365
|
|
Display a table with one row per call (instead of two lines per call),
and display the phone numbers of the people making the calls instead of
internal IDs. This should make the VTY command friendlier for end users,
especially if they have bigger networks. There is still the 'show calls'
command with all the verbose output.
Example output:
OsmoSIPcon> show calls summary
No active calls.
OsmoSIPcon> show calls summary
ID From To State
----- -------------------------------- -------------------------------- ----------
5001 101 100 PROCEEDING
OsmoSIPcon> show calls summary
ID From To State
----- -------------------------------- -------------------------------- ----------
5001 101 100 CONNECTED
Relates: OS#1680
Change-Id: I2092d58d80a34e6083f618593b92bb9e838aa906
|