aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/mgcp.h
AgeCommit message (Collapse)AuthorFilesLines
2012-01-27mgcp: add missing prototypes for send_mgcp_reset_*Harald Welte1-0/+3
2011-07-19mgcp: Implement RSIP based on a trunk levelHolger Hans Peter Freyther1-1/+1
Implement the RSIP spec extension to work on the specified trunk instead of hardcoding it to the virtual trunk.
2011-05-06src: use namespace prefix osmo_wqueue*Pablo Neira Ayuso1-1/+1
Summary of changes: s/struct write_queue/struct osmo_wqueue/g s/write_queue_init/osmo_wqueue_init/g s/write_queue_clear/osmo_wqueue_clear/g s/write_queue_enqueue/osmo_wqueue_enqueue/g s/write_queue_bfd_cb/osmo_wqueue_bfd_cb/g
2011-03-23src: use new library libosmogsm and new path to headers in libosmocorePablo Neira Ayuso1-2/+2
libosmogsm is a new library that is distributed in the libosmocore. Now, openbsc depends on it. This patch gets openbsc with this change. This patch also rewrites all include path to the new osmocom/[gsm|core] Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
2011-02-28mgcp: Fix the static allocation of E1 trunks for the BTS/NET sideHolger Hans Peter Freyther1-0/+4
2011-02-28mgcp: Allocate the endpoints for the E1 trunks as well.Holger Hans Peter Freyther1-1/+1
2011-02-28mgcp: Introduce a trunk config for multiple trunks.Holger Hans Peter Freyther1-0/+3
A trunk will always have 32 endpoints to be used and we allow a sparse allocation of endpoints.
2011-02-28mgcp: Introduce a mgcp_trunk_config enum for endpoint configsHolger Hans Peter Freyther1-13/+26
We want to support real trunks in the MGCP code and we need to have some better book keeping for those. Move the code around.
2011-01-06mgcp: Include a MGCP Response String in the responseHolger Hans Peter Freyther1-1/+1
Switch to a \r\n at the end of the query. Both \n and \r\n are valid according to the spec but this makes us match responses of other equipment.
2011-01-01License change: We are now AGPLv3+ instead of GPLv2+Harald Welte1-6/+5
The reason for this is quite simple: We want to make sure anyone running a customized version of OpenBSC to operate a network will have to release all custom modifiations to the source code.
2010-09-20nat: Send a transcoder reset on start up.Holger Hans Peter Freyther1-0/+1
The transcoder RESET is using the same extensions to reset all endpoints on a remote site. This makes sure that all allocations can be made in a properly configured network.
2010-09-20mgcp: Make the base port of the transcoder configurableHolger Hans Peter Freyther1-2/+5
The code assumes a static mapping from endpoint to RTP port, be able to configure the start of such a mapping.
2010-09-20mgcp: Add ports for the transcoder as wellHolger Hans Peter Freyther1-0/+1
2010-09-20mgcp: Add a transcoder-mgw command to store the addressHolger Hans Peter Freyther1-0/+2
2010-09-20mgcp: Keep the gw_fd inside the mgcp_configHolger Hans Peter Freyther1-0/+3
Move the bfd from a static var into the mgcp_config.
2010-09-20mgcp: Remove the hack to remap timeslot one...Holger Hans Peter Freyther1-5/+7
The timeslot one is blocked and should not be used, replace the code with a warning and watch out for it. Tis is most likely due the uncovered in the previous commit due the wrong TLV definition.
2010-08-29mgcp: Add method to go back from endpoint to multiplex/timeslotHolger Hans Peter Freyther1-0/+9
2010-08-29mgcp: Speculative mgcp fix...Holger Hans Peter Freyther1-1/+1
We really have 32 channels per multiplex... so use the right number... or at least it seems we do have 32.
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-1/+1
2010-08-05mgcp: Allow to have a different port allocation modeHolger Hans Peter Freyther1-0/+5
2010-08-05mgcp: Prepare to have different port allocation strategies.Holger Hans Peter Freyther1-2/+16
2010-08-05mgcp: Allocate a different port for the networking...Holger Hans Peter Freyther1-0/+2
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-1/+1
2010-08-05mgcp: Make the function internal, only used by the init/config codeHolger Hans Peter Freyther1-1/+0
2010-08-05mgcp: Rename the bind method to show it is only binding for the bts portHolger Hans Peter Freyther1-1/+1
2010-08-05mgcp: Only use early bind for the BTS socket.Holger Hans Peter Freyther1-1/+0
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-1/+1
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: Remove the forwarding mode as it was not used.Holger Hans Peter Freyther1-3/+0
2010-07-27mgcp: Rename TOS to DSCPHolger Hans Peter Freyther1-1/+1
DSCP is the more modern information for TOS and the kernel will set parts of TOS by itself (e.g. for ECN).
2010-06-17[mgcp] Set the IP_TOS/DSCP on RTP/RTCP IP packets.Holger Hans Peter Freyther1-0/+1
2010-04-07[mgcp] Add an option to allow using reallocing an endpointHolger Hans Peter Freyther1-0/+3
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-05[mgcp] Add a new config option to set the call agent ip addrHolger Hans Peter Freyther1-0/+1
In the case of the nat we only want to communicate with one upstream call agent and this can now be configured.
2010-04-05[mgcp] Add a helper function to convert from GSM0808 ts/mux to MGCP endpointHolger Hans Peter Freyther1-0/+8
Move the conversion of GSM0808 timeslot and multiplex from the bssap.c into the mgcp.h so it can be reused by multiple users. The weird math comes from the mapping of the MSC...
2010-04-05[mgcp] Add some parsing for RSIP messages coming inHolger Hans Peter Freyther1-0/+2
This will just call a callback and leave all the handling to the application.
2010-04-05[mgcp] Remove the sending of RSIPHolger Hans Peter Freyther1-1/+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-02-26Merge remote branch 'origin/master' into on-waves/mgcpHolger Hans Peter Freyther1-1/+1
Conflicts: openbsc/include/openbsc/Makefile.am openbsc/src/Makefile.am
2010-02-26[mgcp] Introduce a policy CB for the MGCP protocolHolger Hans Peter Freyther1-0/+13
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] Add a method to free the endpoint.Holger Hans Peter Freyther1-0/+1
2010-02-22[mgcp] Make the creation of the mgcp message public.Holger Hans Peter Freyther1-0/+1
2010-02-22[mgcp] Move away from global variables and split out VTY codeHolger Hans Peter Freyther1-10/+47
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-1/+1
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-2/+10
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/+8
* 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] Prepare to do MGCP over TCP and inside the bsc_msc_ip processHolger Hans Peter Freyther1-2/+8
* 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.
2009-11-20[mgcp] Add a simple mgcp gateway used for the BSCHolger Hans Peter Freyther1-0/+48
The python script is a simple call-agent driving the client. Currently it is sending a AuditEndpoint message and is printing the result. The bsc_mgcp.c is a standalone process that will implement a MGCP Gateway for the MSC. On call handling the Call-Agent will ask the Gateway to "CreateConnection" and then this gateway needs to communicate with OpenBSC. Currently CreateConnection,ModifiyConnection,DeleteConnection and Endpoint auditing is implemented. [mgcp] Send RSIP on start and on first receive of any message Ignore the first request and send a RSIP. We do that because we might tunnel UDP through some other things and have no direct way to connect to the call-agent. Also the transaction is not checked and we ignore the response from the call-agent, actually we print the '200 ' or any other value as unhandled... [mgcp] Print the MGCP command next to the response code This allows to see which commands were sent by the server mgcp: Terminate it with a new line [mgcp] Make number of endpoints static... For now this is fixed to the number of endpoints as of the GSM specification... [mgcp] The endpoint names seem to be base 16... use strtoul to parse Use strtoul to parse the base 16 number from the mgw string. [mgcp] Log the endpoints as hex numbers... [mgcp] Only send the RSIP on the first incoming message.. Remove call_agent option (also remove the number from the getopt call). [mgcp] Start couting at 1 for the mgcp [mgcp] Slight attempt to improve the grammar of the strings [mgcp] Share validation routines between DLCX and MDCX [mgcp] Remove help for dead config options [mgcp] Specify a different IN addr in the SDP records In case of NAT traversal be able to listen on a given interface (like 127.0.0.1) but claim to receive data at the beginning of the tunnel. [mgcp] Fix the static copy of the SDP file WIP verify out factoring broken.. [mgcp] Introduce VTY to the mgcp for config file parsing... Parse the MGCP config file via the VTY framework. [mgcp] Handle SDP parameters through VTY.. Currently the payload type, name and rate can be specified in the config file. [mgcp] Add an option to bind all rtp ports early This can be useful for testing and in deployment to make sure no runtime resource limit can be hit. [mgcp] Add some API doc comment [mgcp] Convert the packets of the example server to ascii This will allow to easily patch the call id... to run the server in a loop and make it work with the mediagateway [mgcp] Assign CI_UNUSED... to be more obvious... [mgcp] Use DEBUG and not DEBUGPC and specially not printf Improve the logging a bit in the mgcp [mgcp] Change the fake server to change the call id This assume the call-agent will just increment the id as well.... this is true for our implementation [mgcp] Generate the transaction id dynamically.. This way wireshark will be more happy about it... [mgcp] Recognize responses from the network.. This is just recognizing the response code and then is doing nothing with it. Also change the script to generate response messages... [mgcp] Improve debug messages for CRCX/MDCX.. Log on which ports the media gateway is listening and where the other (server) gateway is located