summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2017-02-11evpoll: Always initialize revents for the outputHolger Hans Peter Freyther1-1/+2
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
2017-02-11evpoll: Use {} in the middle of the if/else if/else blockHolger Hans Peter Freyther1-2/+2
Curly braces are used the lines above and below, don't make the middle stick out like this. Change-Id: I48a15a8665a47db206f8a7ccbc792f6bec8549c2
2017-02-11sip: Treat SIP 183 as progress tooHolger Hans Peter Freyther1-1/+1
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
2016-10-07jenkins.sh: use osmo-build-dep.sh, log test failuresNeels Hofmeyr1-14/+25
Like in libosmo-abis' and other jenkins.sh Change-Id: I1b03786069cc4373dec73711e3a31ec05dfac2e3
2016-10-01configure: check for pkg-config presenceNeels Hofmeyr1-0/+7
Change-Id: Iaca22089bcb21b56048fa541f588c4ad4bed8f6d
2016-10-01build: be robust against install-sh files above the root dirNeels Hofmeyr1-0/+4
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
2016-09-26log VTY telnet bind only onceNeels Hofmeyr1-2/+0
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
2016-05-07sip: Start the application even if sofia-sip is brokenHolger Hans Peter Freyther1-4/+3
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.
2016-04-25jenkins: Make it find the libosmocore library as wellHolger Hans Peter Freyther1-1/+1
2016-04-24jenkins: Use separate check invocation tor un the testsHolger Hans Peter Freyther1-0/+1
2016-04-24jenkins: Try to enable the vty tests as wellHolger Hans Peter Freyther1-1/+1
2016-04-24distcheck: Package the logging.h file as wellHolger Hans Peter Freyther1-1/+1
2016-04-24distcheck/tests: Add the referenced osmoappdesc.py for testingHolger Hans Peter Freyther4-1/+61
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.
2016-04-24jenkins: Add first CI script for the SIP connectorHolger Hans Peter Freyther1-0/+20
2016-04-04vty: Add VTY command about the state of the mncc connectionHolger Hans Peter Freyther3-0/+23
Add VTY command with the state of the MNCC connection. It gives a simple state and is connected in case of the READY state.
2016-04-04mncc: Use strcpy for these routines and not memcpyHolger Hans Peter Freyther1-2/+2
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.
2016-04-04vty: Add extended show calls command with all informationHolger Hans Peter Freyther1-0/+63
Print everything we know about the call. This can be useful to debug stuck calls or similiar events.
2016-04-04sip/call/mncc: Move source/dest into the call structureHolger Hans Peter Freyther6-25/+35
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.
2016-04-04vty: Fix the number of documented argumentsHolger Hans Peter Freyther1-1/+1
2016-04-04vty: Add simple VTY output for current callsHolger Hans Peter Freyther3-0/+109
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
2016-04-04mncc: Use snprintf correctly create format specifierHolger Hans Peter Freyther1-1/+1
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);
2016-04-04mncc: Reject hold requests for nowHolger Hans Peter Freyther1-0/+17
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.
2016-04-04mncc: Have all release go through a local methodHolger Hans Peter Freyther1-6/+12
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".
2016-04-01mncc: Only copy 15 chars to leave the last one as NULLHolger Hans Peter Freyther1-1/+1
Right now we are lucky the next byte after imsi is already set to NUL here but we should not rely on that.
2016-04-01app/mncc: Add "use-imsi" to allow calling by IMSIHolger Hans Peter Freyther3-6/+34
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.
2016-03-31debian: Add dh-autoreconf required by the debian packagingHolger Hans Peter Freyther1-1/+1
2016-03-31coverity: Address two issues found by coverityHolger Hans Peter Freyther2-2/+5
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
2016-03-31debian: Initial packaging of the osmo-sip-connectorHolger Hans Peter Freyther7-0/+61
It installs a service file but requires a user to create a config file. We will not provide a sysv start script.
2016-03-31sip/sdp: Hack to get a GSM codec call connectedHolger Hans Peter Freyther3-4/+19
Extract IP and port once we have received the INVITE. In the near future we need to improve this!
2016-03-31mncc: Add handling to connect a MNCC MT callHolger Hans Peter Freyther1-10/+116
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.
2016-03-31sip: Pass to not enable media on our 200 responseHolger Hans Peter Freyther1-0/+1
In case we send a 200 but don't have this tag, a 500 response will be sent and the call will be dropped.
2016-03-31mncc: Introduce direction and start to handle it separetelyHolger Hans Peter Freyther2-3/+18
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.
2016-03-31mncc: Convert ip address so BTS sends it to the right placeHolger Hans Peter Freyther1-1/+1
2016-03-27mncc: Handle REJ_IND from the NITBzecke/mt-mncc-callHolger Hans Peter Freyther1-0/+20
In case a call can not be connected we will receive a REJ.IND. Inform the other leg and release the call.
2016-03-27mncc: Stop timer when starting the release processHolger Hans Peter Freyther1-0/+1
2016-03-27mncc: On timeout release the other leg as wellHolger Hans Peter Freyther1-0/+5
In case we don't receive the response we had expected let us take down the other part of the call as well.
2016-03-27mncc: Begin to implement MT call handling for SIP->MNCCHolger Hans Peter Freyther3-5/+70
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.
2016-03-26sip: Refactor sdp file creation and implement alert+connectHolger Hans Peter Freyther3-15/+69
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.
2016-03-26sip/app: Route call from SIP to MNCC and deal with the releaseHolger Hans Peter Freyther2-2/+11
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.
2016-03-26sip: Continue SIP->MNCC (MO or SIP Originated) implementationHolger Hans Peter Freyther2-4/+52
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.
2016-03-26sip: Actually return after having rejected the new callHolger Hans Peter Freyther1-0/+1
2016-03-26sdp: Extract SDP traversing into a separate moduleHolger Hans Peter Freyther4-135/+176
The code will still know about SIP and the sip_call_leg but is now separate of the call handling logic.
2016-03-26call: Create a call with a SIP legHolger Hans Peter Freyther2-0/+25
Clone the MNCC code and create a call with a SIP leg.
2016-03-26sip: Handle incoming message and screen the SDP fileHolger Hans Peter Freyther1-0/+82
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.
2016-03-26sip: Mark call as MT call in preparation for incoming callsHolger Hans Peter Freyther2-0/+7
2016-03-26call: It is call_create and not sip_createHolger Hans Peter Freyther3-3/+3
It is not creating anything related to sip at all. Remove the prefix in preparation to creating a call from a sip_call_leg.
2016-03-26app: Translate payload name to IETF codec nameHolger Hans Peter Freyther3-6/+19
Convert the MNCC codec type to the IETF codec name.
2016-03-26Write down some of the limitations of the current setupHolger Hans Peter Freyther1-0/+10
2016-03-26app: Ask the sip side to create a legHolger Hans Peter Freyther1-2/+2
Create SIP leg and if it is failing release the call
2016-03-26sip: Implement MT call out to SIPHolger Hans Peter Freyther3-0/+287
* 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