aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/mgcp/mgcp_protocol.c
AgeCommit message (Collapse)AuthorFilesLines
2010-08-06mgcp: Reduce the log level to debug for these calls.openbsc/0.9.4Holger Hans Peter Freyther1-3/+3
2010-08-06mgcp: Remember if the endpoint was allocated...Holger Hans Peter Freyther1-2/+4
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: Add a callback to inform the client that an endpoint got reallocatedHolger Hans Peter Freyther1-0/+2
2010-08-06mgcp: Make the CI uint32_t all the way to avoid mismatchHolger Hans Peter Freyther1-6/+8
2010-08-06mgcp: Move the mgcp_free_endp into the right path for the CRCX failureHolger Hans Peter Freyther1-1/+1
2010-08-06mgcp: Add a call tap feature to forward audio to another forward portHolger Hans Peter Freyther1-0/+2
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.3Holger Hans Peter Freyther1-0/+1
2010-08-05mgcp: Get the for network/for bts flag right.openbsc/0.9.2Holger Hans Peter Freyther1-2/+2
2010-08-05mgcp: Allow to dynamically allocate ports from a range..Holger Hans Peter Freyther1-7/+57
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: Prepare to have different port allocation strategies.Holger Hans Peter Freyther1-4/+5
2010-08-05mgcp: Allocate a different port for the networking...Holger Hans Peter Freyther1-0/+3
Use the right source port when sending the message.
2010-08-05mgcp: Rename the base port to bts_base as it will be used for the btsHolger Hans Peter Freyther1-2/+2
2010-08-05mgcp: Move the bfd for rtp/rtcp into the portHolger Hans Peter Freyther1-5/+12
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: Only use early bind for the BTS socket.Holger Hans Peter Freyther1-10/+2
Simplify the code by onlt allowing one way to allocate a socket.
2010-08-05mgcp: Attempt to separate the RTP/RTCP port for the Network and for the BTSHolger Hans Peter Freyther1-9/+11
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-17/+20
Group the data that each end (network/bts) have into a struct and use this struct throughout the sourcecode.
2010-08-03mgcp: Style issue... add a space.Holger Hans Peter Freyther1-1/+1
2010-08-03mgcp: Move the rtp state into a structHolger Hans Peter Freyther1-2/+2
Use a struct to group the rtp state for the up and the down link of the bts.
2010-08-03mgcp: Allow to change the receive (the loopback part) via the VTYHolger Hans Peter Freyther1-0/+5
2010-08-03mgcp: Implement the "loopback" mode for a connection endpoint.Holger Hans Peter Freyther1-7/+2
2010-07-29mgcp: Attempt to count missing RTP packets with a basic calculationHolger Hans Peter Freyther1-0/+3
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-04-25[mgcp] Possible memleak fix for the allowed reallocation caseHolger Hans Peter Freyther1-0/+1
When allowing to reallocate an allocated endpoint we will need to free it first. When freeing we will free the call id and other ids that we would have leaked otherwise.
2010-04-25[mgcp] Protocol extension to not generate answers.Holger Hans Peter Freyther1-0/+24
For the NAT we want to send requests in a send and forget way and we are not interested in seeing the answers, so tell the gateway to not answer them.
2010-04-25[mgcp] Print a Deleted endpoint message again.Holger Hans Peter Freyther1-0/+2
2010-04-07[mgcp] Add an option to allow using reallocing an endpointHolger Hans Peter Freyther1-2/+8
For some mode of operation it can be acceptable to reallocate an already allocated endpoint. This can be the case when we only deal with one call agent that is keeping track of the endpoint but slightly confused.
2010-04-07[mgcp] Count incoming RTP packets from the BTS and remoteHolger Hans Peter Freyther1-0/+1
2010-04-06[mgcp] Reset the the address when freeing the endp as wellHolger Hans Peter Freyther1-0/+2
2010-04-05[mgcp] Export header parsing via mgcp internalHolger Hans Peter Freyther1-14/+12
This will be used by the NAT code to implement custom protocol handling on top of that.
2010-04-05[mgcp] Do not operate on the ->data pointer, use ->l2h insteadHolger Hans Peter Freyther1-4/+4
This would have been broken once we attempt to parse encapsulated MGCP messages.
2010-04-05[mgcp] Degrade verbosity to debugHolger Hans Peter Freyther1-1/+1
2010-04-05[mgcp] Add some parsing for RSIP messages coming inHolger Hans Peter Freyther1-0/+11
This will just call a callback and leave all the handling to the application.
2010-04-05[mgcp] Remove unused method from the mgcpHolger Hans Peter Freyther1-6/+0
This was removed when sending the RSIP was removed from the code.
2010-04-05[mgcp] Remove the sending of RSIPHolger Hans Peter Freyther1-17/+0
This message is ignored by the call agent and we were sending this on the first request which we maybe should not ignore...
2010-03-01[mgcp] Set the right variable back to NULLHolger Hans Peter Freyther1-1/+1
2010-02-26Merge remote branch 'origin/master' into on-waves/mgcpHolger Hans Peter Freyther1-3/+3
Conflicts: openbsc/include/openbsc/Makefile.am openbsc/src/Makefile.am
2010-02-26[mgcp] Keep track of the local and remote RTP payload typeHolger Hans Peter Freyther1-2/+8
Keep track of which RTP payload type to use for which direction.
2010-02-26[mgcp] Introduce a policy CB for the MGCP protocolHolger Hans Peter Freyther1-0/+55
The are three policies. Accept, Reject and Defer. This will allow to handle network connections and such from the policy callback instead of directly acting on it.
2010-02-26[mgcp] Fix two bugs in the protocol handlingHolger Hans Peter Freyther1-1/+3
In case of a wrongly formatted AUEP, CRCX, DLCX, MDCX the transaction id pointer was a dangling pointer... Initialize the transaction id to a static string.. Also fix a off by one bug. We want to extract four elements from the MGCP message and not only 3... So a short AUEP message made it us read too many things.
2010-02-26[mgcp] Switch logging from notice to debugHolger Hans Peter Freyther1-3/+3
2010-02-26[mgcp] Add a method to free the endpoint.Holger Hans Peter Freyther1-12/+25
2010-02-22[mgcp] Move the network bits to a separate file...Holger Hans Peter Freyther1-185/+5
This change separates the protocol from the actual network code (bind, forward data). This will allow to more easily hook up the RTP code from OpenBSC and to not use local sockets at all.
2010-02-22[mgcp] Make the creation of the mgcp message public.Holger Hans Peter Freyther1-3/+3
2010-02-22[mgcp] Cleanup the code. send_ was a misleading nameHolger Hans Peter Freyther1-22/+22
The send_ methods stopped to send the MGCP messages but was changed to actually just create a msgb_ that can be sent to a mediagateway. Rename the methods now.
2010-02-22[mgcp] Move away from global variables and split out VTY codeHolger Hans Peter Freyther1-384/+89
In separation of using the MGCP parsing in another context, refactor the code to operate on a struct mgcp_config, split out the vty code from the mgcp_protocol.c, and move the callbacks into the mgcp code. There should be no functional changes.
2010-02-20split 'libosmocore' from openbsc codebaseHarald Welte1-3/+3
This library is intended to collect all generic/common funcitionality of all Osmocom.org projects, including OpenBSC but also OsmocomBB The library currently includes the following modules: bitvec, comp128, gsm_utils, msgb, select, signal, statistics, talloc, timer, tlv_parse, linuxlist msgb allocation error debugging had to be temporarily disabled as it depends on 'debug.c' functionality which at the moment remains in OpenBSC
2010-02-03[mgcp] Refer to the right Company in the Copyright/Copyleft lineHolger Hans Peter Freyther1-1/+1
Use On-Waves instead of the name I made up from the domain name.
2010-02-03[mgcp] Make the mgcp_protocol generate a struct msgb*Holger Hans Peter Freyther1-58/+67
Do not directly send data from inside the mgcp_protocol.c implementation. Instead allocate and return a struct msgb*. The caller can then either wrap that into the IPA protcol or directly send it over the UDP socket.
2010-02-03[mgcp] Prepare the in process MGCP handling by adding callbacksHolger Hans Peter Freyther1-0/+16
* Call a callback when the endpoint was created, modified or deleted. This can be used by the BSC MUX to send a MGCP packet over TCP to the right the BSC to allocate the endpoint there with the right data, or it can be used in the BSC to send the right commands to the BTS.
2010-02-03[mgcp] Replace DEBUGP with the LOGP statementHolger Hans Peter Freyther1-39/+44
* Classify messages as LOGL_INFO or LOGL_ERROR
2010-02-03[mgcp] Prepare to do MGCP over TCP and inside the bsc_msc_ip processHolger Hans Peter Freyther1-0/+1114
* Separate main process and protocol handling into two parts. * Change the protocol handling to work with UDP and TCP connection * This will allow to speak MGCP over TCP between the BSC MUX and the real BSC.