AgeCommit message (Collapse)AuthorFilesLines
2015-03-24m3ua: Send data on stream != 0zecke/m3uaHolger Hans Peter Freyther1-1/+1
RFC4666: The DATA message MUST NOT be sent on stream 0
2015-03-24all: Use the libosmo-sccp version of mtp_level3.hHolger Hans Peter Freyther12-197/+16
2015-03-24m3ua: Use the MTP_READ_DPC/MTP_READ_OPC for using the right PCHolger Hans Peter Freyther1-5/+4
Make the code work for both ISUP and SCCP and let the address handling still be part of the linkset/mtp3 code.
2015-03-24m3ua: Implement link bring-up and sending/receiving of dataHolger Hans Peter Freyther2-2/+346
the opc/dpc for ISUP is currently wrong. The send/recv path for actual SCCP data is not tested.
2015-03-24m3ua: Implement connect and re-connect handlingHolger Hans Peter Freyther2-6/+165
2015-03-24m3ua: Begin to create a m3ua client connectionHolger Hans Peter Freyther5-3/+255
Implement a basic M3UA state machine on a SCTP connection.
2015-03-24mtp: Allow to skip SLTM on links (e.g. m3ua)Holger Hans Peter Freyther3-2/+17
For M3UA links we can't send SLTM messages but we can assume that the link is fine. Add a flag that a link can set in case SLTM should be skipped. The linkset will then directly wait for routable DPCs and bring the SCCP part up.
2015-03-23mtp: Clean-up and remove the unused start routineHolger Hans Peter Freyther4-18/+0
2015-03-23Port from libm2ua to libxuaHolger Hans Peter Freyther4-71/+74
2015-03-23debian: Add a start script for osmo-stpHolger Hans Peter Freyther6-6/+157
2015-03-23debian: Rename the packagesHolger Hans Peter Freyther6-14/+20
2014-12-22build: Replace deprecated INCLUDES with AM_CPPFLAGSSylvain Munaut7-7/+7
Thanks to mnhauke for the patch Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2014-07-30debian: Begin with a debian package for the STPHolger Hans Peter Freyther8-0/+88
2013-06-28sctp_m2ua: Fix the byte order of the request flag for the StateConfHolger Hans Peter Freyther1-0/+1
The ASP has not been looking at this value at all, fix the byte order. On the other hand my ASP doesn't care about this either.
2013-06-28sctp_m2ua: Fix the check of how many ASP for the same ident we have activeHolger Hans Peter Freyther1-1/+1
Currently this is only true for the same connection. sctp_m2ua.c:195 Two active SCTP conns with on 0x9c21cf0, 0x9c21cf0
2013-06-04dtmf: Make the on/off time and transmit power configurableHolger Hans Peter Freyther4-0/+39
Make it possible to configure the transmit power. These settings will be in effect immediately (there is no lock between the two threads but it is a read only).
2013-06-04dtmf: Add tone detection to the event handlingHolger Hans Peter Freyther1-0/+14
We get a trap for detected tones and then need to query them. Print the detected characters for now and do not forward them yet.
2013-05-23mgcp: Return 502 in case the endpoint is allocated.Holger Hans Peter Freyther1-1/+1
When an endpoint is allocated we do not have enough resources to connect it again and this situation is permanent as long as the endpoint is connected. Returning 502 might help some switches to release stale audio resources.
2013-05-23dtmf: Check the tones that are put into the DTMF scheduler and reject a 0Holger Hans Peter Freyther3-1/+27
Playing tones should be printable ascii characters, begin by checking for NULL (as it happened before) as the first illegal tone. This is an attempt to make the API more robust and detect errors more early.
2013-05-23dtmf: Make the API more robust and avoid inconsistenciesHolger Hans Peter Freyther4-11/+19
Because of the issue parsing the MGCP request a '\0' was added to the queue. This lead to the dtmf scheduler believing that a play was in progress while the playing code didn't play anything. This lead to the queue to be stuck and nothing being played at all. Return the number of tones that should be played and stop using strlen on the tones.
2013-05-23dtmf: Improve the log message and print the number of messages queuedHolger Hans Peter Freyther3-4/+13
Print the number of log messages that are queued in the error message.
2013-05-23mgcp: Initialize the tone to CHAR_MAX as this might not be a requestHolger Hans Peter Freyther1-1/+1
The RQNT message might not contain a 'S:' line with the actual tone to play. Instead of calling the callback with the 0 as tone just leave early. Example: X: 6B9519B88F0 R: D/[0-9#*](N), G/ft, fxr/t38 Merged from the OpenBSC development tree
2013-05-13patching: Add a VTY option to hardcode the assignment complete messageHolger Hans Peter Freyther5-5/+102
For some equipment it is the easiest to patch the assignment complete message transported to the MSC. Add a VTY config to enable this patching, create a testcase that tests that the original message is truncated. The setting of the VTY option has been manually tested. The entire system has not been end to end tested.
2013-05-13patching: Get the struct ss7_application down to the patching routineHolger Hans Peter Freyther4-12/+23
2013-04-22msc: Create a copy of the message for the forward_only caseHolger Hans Peter Freyther1-1/+14
We need to create a copy of the messages before we forward it to MSC. This is already done in the other code path.
2013-04-22app: Mark the transport as started for the relay modeHolger Hans Peter Freyther1-0/+1
This code could be shared with the STP setup code.
2013-04-22app: Make it possible to enable the forward only codeHolger Hans Peter Freyther1-0/+20
This change was either never implemented or has been lost at some point in time. Allow to pass SCCP messages un-modified through the A-link.
2013-03-25bss patch: Remove stale printf from the code that broke the testsHolger Hans Peter Freyther1-1/+0
2013-03-25bss patch: Patch all slots with FR2 in the assignment requestHolger Hans Peter Freyther2-7/+13
* Patch all slots with the FR2 codec. This is the easiest way to patch the entire message.
2013-03-25bss patching: Add test cases for assignment and assignment complete patchingHolger Hans Peter Freyther3-12/+61
* Chosen Channel and Speech Version are both optional. Patch them separately if they are present. * Add testcase for the assignment request patching.
2013-03-25tests: Make the test data static constHolger Hans Peter Freyther1-15/+15
2013-03-19msc_conn: Clear the write queue when the connection is droppingHolger Hans Peter Freyther1-0/+1
2013-03-19msc: Allow to listen for incoming connections.Holger Hans Peter Freyther3-5/+248
This is mostly a hack to allow IPA/SCCP routing to SCTP/M2UA/MTP3/SCCP without going through the full stack. The proper way of doing this requires another round of abstraction for the mtp_link_set class.
2013-03-18misc: Address warnings coming from clangHolger Hans Peter Freyther3-2/+3
* Include stdlib.h before the snmp headers to have a free declaration * Use sprintf(dest, "%s", str) to avoid format string attacks * Avoid bogus assignment. This pattern was used for marking something as unused in the past.
2013-02-26mgcp: Add a log message about the tones that will be queuedHolger Hans Peter Freyther1-0/+1
2013-02-26mgcp: After the tones are played inform the DTMF stateHolger Hans Peter Freyther1-2/+3
dtmf_state_played will re-set the playing state. Currently the first tone was played and then no more tones were scheduled to be played.
2013-02-26mgcp: Remove unused variable from the callback handlingHolger Hans Peter Freyther1-1/+0
2013-02-24isup: Make isup CIC parsing/using work on big endian machines as wellHolger Hans Peter Freyther4-8/+27
This is a hot fix to make CIC reading (and later status) work on big endian machines. There might be a more elegant way to do it and I will explore this later.
2013-02-24isup_filter: Add debug and log messages for the filteringHolger Hans Peter Freyther1-4/+21
This way one can check the logs if this code path is hit. The logging normally only occurs for the two messages we are interested in. It doesn't make sense to reset with a range of 0 so the code has been re-ordered.
2012-12-16mgcp: Fix the vary large jump detection in the codeHolger Hans Peter Freyther1-1/+1
GCC 3.x on PowerPC correctly highlights that the code is fishy. Re-reading the RFC 3550 shows that we should subtract it and then we are in the 16bit range. The probation and re-sync code is still missing. GCC: mgcp/mgcp_network.c:200: warning: comparison is always true due to limited range of data type
2012-12-16isup: Hook the reset scanner before we forward the ISUP message1.3.0Holger Hans Peter Freyther8-6/+143
Scan for two kind of reset messages in the ISUP messages. Forward them to the mgcp_ss7.
2012-12-16isup: Test some more ISUP messages and that we parse them correctlyHolger Hans Peter Freyther2-2/+36
2012-12-16stp: Allow to specify a trunk_name in the applicationHolger Hans Peter Freyther3-6/+57
This trunk name will be used to send RSIP for the trunk on ISUP resets. Right now each app can be associated only one trunk.
2012-12-16stp: Extract the MGCP forwarding code out of the msc_connectionHolger Hans Peter Freyther6-123/+206
For the ISUP/MGCP handling we will need the same code, extract it from the msc_connection. For the reading code callback is introduced that will pass the MGCP message to the higher layer.
2012-12-16mgw: Implement the specific RSIP handlingHolger Hans Peter Freyther3-12/+48
The RSIP has morphed from a global reset, to a per trunk reset and now it is possible to reset specific ranges on a trunk. This will be used by the ISUP filter code in the STP. For legacy range == -1 will be used. This will reset all endpoints on the trunk. Use OSMO_MAX on endpoint and number of endpoints in case number_endpoints is 0. This code will now free everything from the endpoint to endpoint + range including endpoint+range.
2012-12-16mgcp: Write a small hint that this special endpoint number handling is brokenHolger Hans Peter Freyther1-0/+1
It is user defined where the signalling will take place, there might not be any signalling at all.
2012-12-16mgcp: Use the realloc callback when freeing the endpoint via the VTYHolger Hans Peter Freyther1-0/+2
In case the endpoint is allocated and the VTY is used to force it to be freed use the realloc_cb to make sure that any resources allocated to it will be freed. The mgcp_ss7 binary will then call mgcp_ss7_endp_free to free audio encoder resources.
2012-12-16mgcp: Merge the current MGCP code from OpenBSCHolger Hans Peter Freyther10-442/+986
There were several changes in the upstream code. These include statistics, DTMF/RQNT, changes in the parsing code and re-transmission handling. The last item is the main reason to do the merge now.
2012-12-16dtmf: Schedule DTMF tones for the MTN hardwareHolger Hans Peter Freyther14-3/+286
Create a simple queue for pending DTMF tones, play them using the MTN API, and then send the next tones once the playback is complete. The callback and scheduling is done from the same context so no locking needs to be done.
2012-12-16mgcp: Begin handling of the RQNT message as needed for DTMFHolger Hans Peter Freyther4-7/+132
Introduce a callback for the request and forward the signalrequest to the callback. This is not a full implementation of MGCP RQNT. Manual merge and backport from OpenBSC.