path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2013-03-19link_sets: Move the submit for SCCP/ISUP into a function pointerzecke/multiple-link-set-typesHolger Hans Peter Freyther4-19/+24
In the preparation of supporting multiple link_sets types the send routines are accessed through function pointers now.
2013-03-19link_sets: Remove direct function calls for data/up/down from MTP3Holger Hans Peter Freyther5-10/+30
We want to support different link_sets types. To do this we will need to reduce the coupling of mtp_link_set with the application. This is the first step to remove the notifications. This comes with a performance cost but it has not been measured. In the long run the conditions for if (set->on_bla) should be removed as this indicates a wrong configuration of the linkset.
2013-03-18link_sets: Create a new file with just the generic linkset in thereHolger Hans Peter Freyther3-88/+115
2013-03-18link_sets: Name functions working on linksets as suchHolger Hans Peter Freyther4-8/+8
This is in preparation of having different kind of linksets, with and without MTP and be able to bridge them. This will allow us to to implement SCCPlite and M3UA.
2013-03-18misc: Address warnings coming from clangHolger Hans Peter Freyther1-1/+0
* 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 Freyther2-4/+22
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 Freyther5-3/+106
Scan for two kind of reset messages in the ISUP messages. Forward them to the mgcp_ss7.
2012-12-16stp: Allow to specify a trunk_name in the applicationHolger Hans Peter Freyther2-5/+53
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 Freyther3-120/+167
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 Freyther2-11/+47
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 Freyther5-428/+700
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 Freyther3-1/+133
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 Freyther1-4/+38
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.
2012-12-16mgcp: Add a hack to allow to patch the SSRCHolger Hans Peter Freyther1-1/+2
This is a hack and we will need to do this only if a MDCX with a new IP address is arriving.
2012-12-16mgw: Always disable the writing for the socket notifier, initialize variableHolger Hans Peter Freyther2-2/+2
This was spotted while verifying the RSIP code using valgrind.
2012-07-01adler: Remove the SCTP hack that we needed to force the adler checksumHolger Hans Peter Freyther1-3/+0
Remove the hack that was required for inter-op. The equipment will migrate to the CRC32 checksum soon.
2012-06-12syslog: Log all exit paths in this codeHolger Hans Peter Freyther1-6/+7
There are some exit paths that do not have syslog logging.
2012-06-12syslog: Add syslog for the MGCP MTN threadHolger Hans Peter Freyther1-3/+18
We can not use the osmocore logging in multiple threads, open a separate syslog to log errors.
2012-05-11mgcp: Always restore the endpoint routing when destroying the endpointHolger Hans Peter Freyther1-1/+1
In case MtnSaAllocate failed the code did not restore the audio routing when destroying the endpoint. Move the hw_maybe_loop_endp out of the if statement.
2012-05-11mgcp: Possible fix for using the right DSP resource on the MGCP MGWHolger Hans Peter Freyther1-1/+1
This got broken in the previous commit. Use the hw_dsp_port we assigned to the endpoint instead of the dsp_resource that is one ahead. For the non loop-on-idle configuration audio routing appears to be broken.
2012-01-23hw: The DSP resource was one based with the SNMP API, subtract itHolger Hans Peter Freyther2-4/+4
* Change the assigning dsp_resource to start with one and increase after usage and not before usage (so it becomes the next free port). * Subtract one from dsp_port after we have selected the path. In the longer run I should make dsp_resources zero based all the way.
2012-01-22mgcp: Implement to loop timeslots when not used for audioHolger Hans Peter Freyther3-5/+63
Deal with broken ISUP switches and allow to loop endpoints when they are not connected. Introduce an option to do it.
2012-01-22mgcp: Move to using the NexusWare API for Timeslot configHolger Hans Peter Freyther2-106/+15
2012-01-22mgcp: Rename from snmp to hw in variables and function name.Holger Hans Peter Freyther2-8/+9
2012-01-22mgcp: Move the SNMP file to _hw.c to move to the NexusAPIHolger Hans Peter Freyther2-4/+4
2012-01-16mtp: Allow to send SCCP/ISUP to a specific endpointHolger Hans Peter Freyther2-2/+95
For a linkset define where SCCP/ISUP should be send. This config should probably move up to the application part when real work on the routing is done. Right now the sccp_opc/sccp_dpc need to stay inside the mtp_layer3.c to be able to send a TFA for the reachable OPC and it is easier to keep both (dpc/opc) in the same file.
2012-01-16mtp: Provide the method with the OPC and DPCHolger Hans Peter Freyther1-6/+7
We want to submit on a link set but want to provide the OPC and DPC of the callers choice.
2012-01-16mtp: Name the parameter opc instead of just PCHolger Hans Peter Freyther1-3/+3
2012-01-16ss7: Make the forwarding methods staticHolger Hans Peter Freyther1-2/+2
2011-11-28vty: Add show msc [NR] to specify an optional MSC nrHolger Hans Peter Freyther1-3/+8
2011-11-25msc: Make 'show msc' show the primary msc connection againHolger Hans Peter Freyther1-6/+10
Revert an accidental change when introducing show mscs. We want show msc to be like it was before.
2011-11-25msc: Only take down the link if it is upHolger Hans Peter Freyther1-2/+4
If the link was never started and we send a SIGUSR2 we would start the link. Don't do it.
2011-11-25vty: Introduce show mscs to show all mscsHolger Hans Peter Freyther1-8/+25
2011-11-25msc: Only unregister the fd when we have a valid fdHolger Hans Peter Freyther1-3/+7
2011-11-24bss: Patch CC messages with bearer capabilities to contain AMR 3Holger Hans Peter Freyther2-7/+122
* This changes bss_patch_filter_msg to return -1 or BSS_FILTER_DTAP for DTAP messages. This way app_forward_sccp should continue to behave the same besides now looking into DTAP messages. * Introduce a direction in case we want to advertize FR into the BSS side and HR into the other direction. * Patch AMR HR3 and Fullrate/Halfrate capabilities in the Bearer Capabilities. Add a test case that is patching the bearer capabilities
2011-11-23bss_patch: Remove magic number and use define for BSSAP managementHolger Hans Peter Freyther1-3/+3
2011-11-23sccp: PC -> PointCode and we remove them to avoid routing issuesHolger Hans Peter Freyther1-1/+1
2011-11-20rate_ctr: Initialize the rate_ctr to update them properlyHolger Hans Peter Freyther2-0/+6
This way we get proper information about packets per second/hour and minute. Right now we only count the total.
2011-11-20misc: Address various compiler warnings in the codeHolger Hans Peter Freyther3-26/+1
2011-10-07mgcp: Increase number of endpoints that can be blockedHolger Hans Peter Freyther1-1/+1
For the Virtual Trunk we have more than 31 endpoints. Increase the number by a large factor here.
2011-09-19mgcp: Skip blocked endpoints in the show mgcp commandHolger Hans Peter Freyther1-0/+5
2011-09-19msc: Do not run ping/pong timers by defaultHolger Hans Peter Freyther1-0/+1
The current ping/pong timeout is 0 which means the MSC connection will be taken down almost immediately. Set it to -1 to disable sending pings and waiting for the pong.
2011-09-19mgcp: Improve the show mgcp command to print the domain nameHolger Hans Peter Freyther1-3/+9
For virtual trunk's we only have the virtual domain name they are serving. Print that instead of the trunk->nr which has no meaning in this context.