aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/mgcp/mgcp_network.c
AgeCommit message (Collapse)AuthorFilesLines
2010-08-06mgcp: Remember if the endpoint was allocated...Holger Hans Peter Freyther1-1/+1
Do not use the CI_UNUSED to decide if an endpoint is allocated but introduce a new flag. This way only the CRCX and free_endp play with the allocated field.
2010-08-06mgcp: Fix discovering the RTCP port with the more strict check.Holger Hans Peter Freyther1-13/+27
If we have found the BTS and we receive data on the RTCP port from the IP of the BTS we will set our RTCP port and forward it to the network and hope it will be useful.
2010-08-06mgcp: Determine the proto properly...Holger Hans Peter Freyther1-1/+1
2010-08-06mgcp: Add instrumentation code to find a possible port leak/bsc-fd corruptionHolger Hans Peter Freyther1-5/+12
2010-08-06mgcp: Fix a filedescriptor leak in case the bind is failing.Holger Hans Peter Freyther1-0/+2
2010-08-06mgcp: Add a call tap feature to forward audio to another forward portHolger Hans Peter Freyther1-0/+15
For debugging it is useful to forward (tee) UDP packets to another system and use gstreamer to inspect the rtp stream. This is untested code and might contain bugs.... and of course only tap your own calls.
2010-08-05mgcp: Patch RTP packets again if that is allowed.openbsc/0.9.30.9.3Holger Hans Peter Freyther1-1/+1
2010-08-05mgcp: Be more strict on the source addr/source port of the btsHolger Hans Peter Freyther1-0/+15
Once we have discovered the bts we will not accept data from anything else. The call will drop if the BTS is changing the ip address of the nat anyway.
2010-08-05mgcp: Only discover the bts once, the extra check got lostHolger Hans Peter Freyther1-3/+3
2010-08-05mgcp: Allow to dynamically allocate ports from a range..Holger Hans Peter Freyther1-0/+22
Allow to switch to a dynamic port allocator and not reuse the ports for a long time... This should help with a crazy network sending two streams at the same time.
2010-08-05mgcp: Separate recv from net/bts and remove autodetectionHolger Hans Peter Freyther1-41/+64
This allows a more strict check on the source of RTP messages and we can more easily reject those. For the BTS without an ip address we will also update the ip address.
2010-08-05mgcp: Move the loopback code into the common send as well.Holger Hans Peter Freyther1-8/+9
2010-08-05mgcp: Remove the receive code into a new method.Holger Hans Peter Freyther1-11/+25
2010-08-05mgcp: Move the selection of the right source port to a new methodHolger Hans Peter Freyther1-31/+31
2010-08-05mgcp: Allocate a different port for the networking...Holger Hans Peter Freyther1-33/+47
Use the right source port when sending the message.
2010-08-05mgcp: Move the bfd for rtp/rtcp into the portHolger Hans Peter Freyther1-20/+20
Stop using the memset in the mgcp_rtp_end_reset as we will reset the list pointers and then have a mess..
2010-08-05mgcp: Rename the bind method to show it is only binding for the bts portHolger Hans Peter Freyther1-2/+1
2010-08-05mgcp: Attempt to separate the RTP/RTCP port for the Network and for the BTSHolger Hans Peter Freyther1-7/+8
We plan to have two different ports for the network and for the BTS to avoid detecting the BTS and to dynamically allocate the port to have old data not go to a new socket.
2010-08-05mgcp: Group the state for bts/net into a struct and have two instancesHolger Hans Peter Freyther1-18/+18
Group the data that each end (network/bts) have into a struct and use this struct throughout the sourcecode.
2010-08-05mgcp: Remove the forwarding mode as it was not used.Holger Hans Peter Freyther1-1/+1
2010-08-05mgcp: Fix the payload_type... it broke in ↵Holger Hans Peter Freyther1-2/+2
7cdc62c01223570441e60ec6d0dd7a92e622677b
2010-08-04mgcp: Fix the reversed net/bts... which has not cause any issue..Holger Hans Peter Freyther1-2/+2
2010-08-04mgcp: Pass the whole endpoint to the patch method.Holger Hans Peter Freyther1-12/+10
2010-08-04mgcp: Fix the order of the arguments...Holger Hans Peter Freyther1-3/+3
2010-08-04mgcp: Print the conn mode as wellHolger Hans Peter Freyther1-5/+5
2010-08-04mgcp: Disable the actual patching... this is a temporary hackHolger Hans Peter Freyther1-1/+1
2010-08-04mgcp: Print the system for the duplicate SSRC...Holger Hans Peter Freyther1-5/+12
2010-08-03mgcp: Only patch the header if we had a change in SSRCopenbsc/0.9.10.9.1Holger Hans Peter Freyther1-5/+8
2010-08-03mgcp: Allow switching the audio streams, patch the headerHolger Hans Peter Freyther1-3/+25
Patch the sequence number, the SSRC and the timestamp to allow to mix various voice streams, e.g. toggling the loop during the call.
2010-08-03mgcp: Move the rtp state into a structHolger Hans Peter Freyther1-10/+9
Use a struct to group the rtp state for the up and the down link of the bts.
2010-08-03mgcp: Implement the "loopback" mode for a connection endpoint.Holger Hans Peter Freyther1-0/+4
2010-07-29mgcp: Attempt to count lost packets better...Holger Hans Peter Freyther1-1/+1
2010-07-29mgcp: Attempt to count missing RTP packets with a basic calculationHolger Hans Peter Freyther1-4/+18
This code compares the UDP sequence numbers of two RTP messages and guesses if packets are missing. It is guessing in two ways: 1.) by default the sequence number is 0, so on the first value we ignore the jump... we might ignore a real issue in case of a wrap around which is easily possible as the sequence should be a random number. 2.) the UDP stream might have been reordered on the network and we would see the jump... In any case these two shortcomings are acceptable for the feature that is meant to provide some basic analysis..
2010-07-27mgcp: Rename TOS to DSCPHolger Hans Peter Freyther1-2/+2
DSCP is the more modern information for TOS and the kernel will set parts of TOS by itself (e.g. for ECN).
2010-07-23mgcp: u_int8_t -> uint8_tHolger Hans Peter Freyther1-4/+4
2010-07-23mgcp: u_int16_t -> uint16_tHolger Hans Peter Freyther1-1/+1
2010-07-23mgcp: u_int32_t -> uint32_tHolger Hans Peter Freyther1-2/+2
2010-06-17[mgcp] Set the IP_TOS/DSCP on RTP/RTCP IP packets.Holger Hans Peter Freyther1-0/+11
2010-06-17[mgcp] Only patch RTP packets when they arrived on the RTP portHolger Hans Peter Freyther1-2/+4
Do not attempt to patch RTCP packets...
2010-05-14Merge branch 'master' into on-waves/mgcpHolger Hans Peter Freyther1-1/+1
2010-05-14[mgcp] Improve the language of the comments.Holger Hans Peter Freyther1-2/+2
2010-05-14[mgcp] Include stdlib.h for abs.Holger Hans Peter Freyther1-0/+1
2010-04-30[mgcp] Remove talloc.h header.Holger Hans Peter Freyther1-1/+0
2010-04-30[misc] Remove spaces, fix indention.Holger Hans Peter Freyther1-1/+1
2010-04-25[mgcp] Ignore every dummy packet...Holger Hans Peter Freyther1-7/+7
This routine should operate on different packets and the dummy load is smaller than a legitimate RTP header so it is unlikely we will filture out genuine traffic. The reason is the dummy load might be send more than once.
2010-04-25[mgcp] Add a dummy send method...Holger Hans Peter Freyther1-0/+18
This can be used by higher level code to send one dummy message from the audio port to the network. This can be used to make the remote discover the nated port of this endpoint.
2010-04-09[mgcp] Print the IP addr of the BTS we have detected.Holger Hans Peter Freyther1-2/+3
2010-04-07[mgcp] Print the errno/strerror when we can not receive from our socketHolger Hans Peter Freyther1-2/+3
2010-04-07[mgcp] Count incoming RTP packets from the BTS and remoteHolger Hans Peter Freyther1-0/+6
2010-04-06[mgcp] Do not patch RTP payload when type is set to -1.Holger Hans Peter Freyther1-0/+3
For the nat we might or might not want to patch it, do not patch if we have no valid rtp payload type.