Age | Commit message (Collapse) | Author | Files | Lines |
|
Even if we have not selected the fd (e.g. fd < 0), initialize revents
to 0. This seems to match gpoll.c:g_poll of glib.
Change-Id: I9e16a6d5a74a204c85808ba67a8f0f7af3045059
|
|
Curly braces are used the lines above and below, don't make the middle
stick out like this.
Change-Id: I48a15a8665a47db206f8a7ccbc792f6bec8549c2
|
|
It doesn't fix early media yet but brings us one step
closer to it:
The 183 (Session Progress) response is used to convey information
about the progress of the call that is not otherwise classified. The
Reason-Phrase, header fields, or message body MAY be used to convey
more details about the call progress.
Change-Id: Ibf264f251e41c06a7b4839acc0d0853e6400291c
|
|
Like in libosmo-abis' and other jenkins.sh
Change-Id: I1b03786069cc4373dec73711e3a31ec05dfac2e3
|
|
Change-Id: Iaca22089bcb21b56048fa541f588c4ad4bed8f6d
|
|
Explicitly set AC_CONFIG_AUX_DIR.
To reproduce the error avoided by this patch:
rm install-sh # in case it was already generated.
touch ../install-sh # yes, outside this source tree
autoreconf -fi
This will produce an error like
...
configure.ac:16: error: required file '../ltmain.sh' not found
configure.ac:5: installing '../missing'
src/Makefile.am: installing '../depcomp'
autoreconf: automake failed with exit status: 1
See also automake (vim `which automake`) and look for 'sub locate_aux_dir'.
Change-Id: I9c96c087bffb41533ef6fb9b1d00bd903d71693e
|
|
After libosmocore 55dc2edc89c1a85187ef8aafc09f7d922383231f which outputs
'telnet at <ip> <port>' from telnet_init_dynif(), there's no need to log the
telnet VTY bind here anymore.
Change-Id: I7db7f7a2e61ba676c2712bcc149a5fd5a69b80b2
|
|
In case of solely managing the application through the VTY we
want/need to have the application running besides a wrong config
has been entered. SIP will be broken but a user will be able to
see the log message and can fix it.
|
|
|
|
|
|
|
|
|
|
distcheck fails because the file is not present. Write it out to
get our standard vty checking to work. Add simple Makefile and
call it.
|
|
|
|
Add VTY command with the state of the MNCC connection. It gives
a simple state and is connected in case of the READY state.
|
|
We need to stop on the first occurence of a \0 in the address
provided by SIP. Do not copy the full amount of bytes.
|
|
Print everything we know about the call. This can be useful to debug
stuck calls or similiar events.
|
|
In preparation of a better show calls VTY command it is of interest
to know which number has been dialed by whom. For that store the
source/dest in there.
MNCC: Change the talloc root context to the call and don't try to
free the strings after calling the routing code
SIP: Use talloc_strdup to duplicate them.
Call: Add null check because the talloc_strdup of the SIP layer
could have failed.
|
|
|
|
Start with a show call summary that lists simple data about the
current set of calls:
Call(5002) initial(type=SIP,state=CONFIRMED) remote(type=MNCC,state=INITIAL)
Call(5001) initial(type=MNCC,state=PROCEEDING) remote(type=SIP,state=CONFIRMED)
Related: OS#1680
|
|
I was focusing so much on the length that I didn't notice the
wrong usage of snprintf. Correct it.
Warning on Ubuntu:
mncc.c:679:3: warning: format not a string literal and no format arguments [-Wformat-security]
snprintf(mncc.imsi, 15, called);
|
|
MNCC hold to sip has not been implemented, so let me reject the
request right now. A ticket (OS#1686) has been filed to track
implementing call holding.
|
|
Have all release go through a local method first. This way we can
make sure to stop the timer. I have seen something odd (a busy loop
in the RB tree of the timer code) and we can easily avoid having a
timer run on a page of memory that has been "freed".
|
|
Right now we are lucky the next byte after imsi is already set
to NUL here but we should not rely on that.
|
|
In case one is using a PBX it might be the easiest just to
call based on IMSI. Add a VTY option to enable/disable this
feature. It can be used to keep the number assignment outside
of the HLR database.
|
|
|
|
Add NULL check in the case of MNCC disconnect that was missing and
add an assert to show that at this point the other leg must exist.
Fixes: CID#80799, CID#80800, 80801
|
|
It installs a service file but requires a user to create a config
file. We will not provide a sysv start script.
|
|
Extract IP and port once we have received the INVITE. In the near
future we need to improve this!
|
|
This will go through the stage of:
* MNCC_CALL_CONF_IND (to which we create a RTP socket)
* then we might receive a MNCC_ALERT_IND
* and finally the MNCC_SETUP_CNF
For the last two we inform the other leg about the progress.
|
|
In case we send a 200 but don't have this tag, a 500 response will
be sent and the call will be dropped.
|
|
For releasing a MT-Call we will need to send a release request
and then wait for the release confirmation. Add if/else to it.
If this turns out to be too ugly we will be able to create one
MO and one MT leg.
|
|
|
|
In case a call can not be connected we will receive a REJ.IND.
Inform the other leg and release the call.
|
|
|
|
In case we don't receive the response we had expected let us
take down the other part of the call as well.
|
|
Initiate the setup request that should result in the call getting
all the way to the connected state at some point in time. The device
I test with sadly rejects the call too soon.
|
|
The codec negotiation is still a huge todo and the initial version
will be far from perfect. We will use whatever MNCC has decided on
and then see if it is compatible in the end.
|
|
Fix releasing of the leg in case it is not routable and make the
differentation if we initiated the invite (send CANCEL) or send
a final error. The error code was randomly picked and once we have
an enum of causes we can decide where to map it to.
|
|
Copy out to/from numbers, copy the sdp file, set the magic for the
nh handle. With the incoming cancel the leg and the entire call will
be terminated.
|
|
|
|
The code will still know about SIP and the sip_call_leg but is
now separate of the call handling logic.
|
|
Clone the MNCC code and create a call with a SIP leg.
|
|
Check if the SDP file has any codec potentially supported by GSM.
The topic of codec selection is a complicated one and we will not
support it correctly in the beginning.
|
|
|
|
It is not creating anything related to sip at all. Remove the
prefix in preparation to creating a call from a sip_call_leg.
|
|
Convert the MNCC codec type to the IETF codec name.
|
|
|
|
Create SIP leg and if it is failing release the call
|
|
* Create a new handle
* Send the invite
* Have some state transitions
* Allow to release a call in initial unconfirmed state, confirmed
one with cancel and connected with bye
* Add simple SDP parsing to find the rtpmap/codec that is used by
gsm
|