aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2015-03-22rtp: Declare struct msgb to fix compiler warningHolger Hans Peter Freyther1-0/+3
Fixes: /usr/include/osmocom/netif/rtp.h:63:41: warning: ‘struct msgb’ declared inside parameter list struct rtp_hdr *osmo_rtp_get_hdr(struct msgb *msg);
2015-03-22rtp: Add "data" to access the data behind the headerHolger Hans Peter Freyther1-0/+1
This is needed for mgcp_transcode.c of OpenBSC to access the data after the header. Use a zero sized array for it.
2015-03-22endian: Use the new endian macros for portabilityHolger Hans Peter Freyther3-8/+14
Use the new macros to deal with little/big endian. Im a bit worried to make this change due the little test coverage in this module but in case of a typo the elements would not be defined.
2014-08-29osmux: export OSMUX_BATCH_DEFAULT_MAXPablo Neira Ayuso1-0/+3
This allows you to set the default batch size when initializing the osmux input handle.
2014-08-28osmux: add statistics to osmux_in_handle structPablo Neira Ayuso1-0/+8
Add statistics to the osmux input handle, which translates the RTP messages to osmux batch.
2014-08-28osmux: allow to specify the osmux frame sizePablo Neira Ayuso1-0/+1
This patch adds a new field to the struct osmux_in_handle that allows you to specify the osmux frame size. If not specified, the default size assumes your nic uses a mtu of 1500 bytes.
2014-08-28osmux: add osmux_xfrm_input_fini()Pablo Neira Ayuso1-0/+1
To clean up the osmux input handle.
2014-08-26include: define OSMUX_ID_MAXPablo Neira Ayuso1-0/+1
This tells us the maximum osmux circuit ID.
2014-04-25amr: make sure the header is packedPablo Neira Ayuso1-1/+1
2013-05-24osmux: fix wrong OSMUX header description in header filePablo Neira Ayuso1-8/+8
It was not matching with the current code.
2013-05-24osmux: further sanity checkings for AMR FTPablo Neira Ayuso1-0/+1
According to RFC3267, AMR FT upper 9 should be discarded. This patch adds extra validation to make sure that input RTP traffic encapsulating AMR payload and OSMUX amr_ft field are OK with regards to that restriction.
2013-05-24amr: add AMR FT SID definitionPablo Neira Ayuso1-1/+2
According to RFC3267, AMR FT 8 is reserved to SID and its size is 8 bytes.
2013-05-21misc: Add missing header files to fix the make distcheckHolger Hans Peter Freyther2-1/+3
2013-05-12osmux: allow to set initial RTP SSRCPablo Neira Ayuso1-1/+2
Instead of using the osmuxh->circuit_id.
2013-02-19osmux: add osmux_snprintfPablo Neira Ayuso1-0/+4
Useful for debugging purposes. Modify also examples to use it.
2013-02-12osmux: use ft instead of the cmrPablo Neira Ayuso1-10/+10
The cmr is the requested codec for the other peer, the ft actually contains the current codec mode. cmr may contain 15 which means "don't care".
2013-02-12osmux: remove arrays from osmux_out_handlePablo Neira Ayuso1-2/+2
there will be one osmux_out_handle per endpoint.
2013-02-11osmux: allow to pass data to osmux_deliverPablo Neira Ayuso1-2/+3
2012-10-21dgram: add osmo_dgram_get_dataPablo Neira Ayuso1-0/+1
2012-10-20osmux: remove generic functions to register and get ccidPablo Neira Ayuso1-3/+1
Remove these functions: - osmux_xfrm_input_get_ccid - osmux_xfrm_input_register_ccid The ccid will be managed by the BSC and it will be stored in the mgcp_endpoint structure. Also adjust all tests and examples using the API.
2012-08-21ipa: add osmo_ipa_parse_msg_id_respPablo Neira Ayuso1-0/+2
Code extracted from ipa_stream_server.c.
2012-08-19ipa: add ipa_cli_id_ack and ipa_cli_id_respPablo Neira Ayuso1-0/+5
This functions were before located in channel/abis/ipa_stream_client.c, but they are generic for IPA units.
2012-08-19ipa: add osmo_ipa_process_msg and remove osmo_ipa_recv_msgPablo Neira Ayuso1-1/+2
This patch removes osmo_ipa_recv_msg, it performs two syscall invocations and it's stream generic. Now we use the specific receival function we want to use (no matter if stream or datagram based) and then we call osmo_ipa_process_msg to check that the IPA message correct.
2012-08-19consolidate ipa_unit infrastructurePablo Neira Ayuso2-17/+43
Provide unified infrastructure for handling IPA units and modify existing code to use it.
2012-08-19stream: add osmo_stream_srv_get_masterPablo Neira Ayuso1-0/+1
To obtain the information of the server data that this connection belongs to.
2012-08-19channel: add subtype ID to osmo_chan_createPablo Neira Ayuso1-1/+8
This adds the possibility to specify the variant of the channel. This was discussed during the osmocom workshop. Harald wanted a way to say if the channel is using TCP, UDP, DADHDI and so on.
2012-08-19channel: osmo_chan_init takes one pointer to set the talloc contextPablo Neira Ayuso1-2/+2
Also remove this parameter from osmo_chan_create
2012-08-19channel: rename CHAN_* to OSMO_CHAN_* for correct namespace policyPablo Neira Ayuso1-4/+5
Just to avoid unlikely possible problems while using this library with any other that decided to define the CHAN_* constants.
2012-08-19channel: use linked list instead of array of existing channelsPablo Neira Ayuso1-0/+4
This also adds osmo_chan_init() that needs to initialize the channel infrastructure.
2012-08-19channel: define CHAN_SIGN_OML and CHAN_SIGN_RSL internallyPablo Neira Ayuso1-3/+0
These definitionsare not relevant for external client applications using the library.
2012-08-19channel: remove leftover unused definitions in headerPablo Neira Ayuso1-6/+0
They are not used anywhere in the code.
2012-08-18channel: add name fieldPablo Neira Ayuso1-0/+1
This will be useful to display some human-readable type in logs and the VTY.
2012-08-18channel: abis-ipa-client: add missing header filePablo Neira Ayuso1-0/+13
I forgot to commit this file: osmocom/netif/channel/abis_ipa_client.h
2012-08-16ipa: change osmo_ipa_rcvmsg_base to take argument depending on rolePablo Neira Ayuso1-1/+1
If we're acting as client, we don't have to reply ID_ACK to one received ID_ACK (otherwise, we enter a loop).
2012-08-16add abis_ipa_client channelPablo Neira Ayuso1-0/+1
2012-08-15add ipa_unitPablo Neira Ayuso1-0/+20
This adds the generic ipa_unit object that is allocated and set by the BTS while initializing the channels.
2012-08-15channel: abis-ipa: shorter function namesPablo Neira Ayuso2-7/+7
%s/_server_/_srv_/g %s/osmo_chan_abis/osmo_abis/g %s/SERVER/SRV/g
2012-08-15src: shorter stream function namesPablo Neira Ayuso1-34/+34
%s/_client_conn_/_cli_/g %s/_server_conn_/_srv_/g %s/_client_/cli/g %s/server/srv/g %s/RECONFIG/RECONF/g %s/SERVER/SRV/g %s/CLIENT/CLI/g
2012-08-15src: shorter names for datagram socketsPablo Neira Ayuso1-31/+31
%s/_conn_/_/g %s/_conn//g %s/_server_/_tx_/g %s/_client_/_rx_/g %s/_SERVER_/_TX_/g %s/_CLIENT_/_RX_/g %s/_RECONFIG/_RECONF/g
2012-08-06osmux: add OSMUX_MAX_CONCURRENT_CALLS which is 8Pablo Neira Ayuso1-2/+4
Instead of harcoding the number all around the code.
2012-08-06osmux: support two concurrent calls in output pathPablo Neira Ayuso1-2/+3
2012-08-06osmux: add infrastructure to map RTP SSRC and osmux CCIDPablo Neira Ayuso1-0/+2
2012-08-06osmux: batching factor can be explicitly configured by callerPablo Neira Ayuso1-0/+1
Not hardcoded in osmux.c code anymore.
2012-08-06osmux: store internal batching information in struct osmux_in_handlePablo Neira Ayuso1-1/+3
The layout is not provided, as it is internal. Thus, we don't allocate the internal batching information in BSS anymore.
2012-08-06rtp: add osmo_rtp_snprintfPablo Neira Ayuso1-0/+2
To print the RTP header and payload.
2012-08-04osmux: remove timeval parameter from osmux_tx_schedPablo Neira Ayuso1-1/+1
We can internal allocate this in the stack, no need to expose it to the caller.
2012-08-04osmux: cleanup tx pathPablo Neira Ayuso1-2/+2
This patch cleans up the transmission path for osmux, this involves the functions that extract the messages from the batch and the one that reconstruct the timing. They now take a list that contains the reconstructed RTP messages: osmux_xfrm_output(osmuxh, &h_output, &list); osmux_tx_sched(&list, &tv, tx_cb, NULL);
2012-08-02osmux: major rework to reduce batch message size (add counter field)Pablo Neira Ayuso1-15/+13
This patch adds the counter field to the osmux header, so we can reduce the size of the batch even further, eg. osmuxhdr (ctr=3) speech speech speech osmuxhdr (ctr=2) speech speech ... The new header is the following: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FT | CTR |F|Q| SeqNR | Circuit ID |AMR-FT |AMR-CMR| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The counter field is 3 bits long, thus, we can batch up to 8 RTP speech frames into one single batch per circuit ID. I have also removed the RTP marker, since it can be reconstructed from the AMR information. Moreover, the entire workflow has been also reworked. Whenever a packet arrives, we introduce it into the batch list. This batch list contains a list of RTP messages ordered by RTP SSRC. Then, once the batch timer expires or the it gets full, we build the batch from the list of RTP messages. Note that this allows us to put several speech frame into one single osmux header without actually worrying about the amount of messages that we'll receive. The functions that reconstruct the RTP messages has been also adjusted. Now, it returns a list of RTP messages per RTP SSRC that has been extracted from the batch.
2012-08-02osmux: osmux_get_payload returns uint8_t * instead void *Pablo Neira Ayuso1-1/+1
So we easily add offsets without any casting.
2012-07-19osmux: add osmux_tx_sched to reconstruct the timing of RTP messagesPablo Neira Ayuso1-0/+2
This function schedules the transmission of a RTP message that was obtained from one osmux batch. It takes the time (in microseconds) after which the message should be transmitted.