aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom/netif
AgeCommit message (Collapse)AuthorFilesLines
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.
2012-07-13src: add function to obtain bytes depending on AMR frame codePablo Neira Ayuso1-0/+12
2012-07-12add osmux supportPablo Neira Ayuso2-0/+69
2012-07-12rtp: add new parameter to osmo_rtp_get_payload to obtain payload lengthPablo Neira Ayuso1-1/+1
2012-07-12amr: add osmo_amr_get_payloadPablo Neira Ayuso1-0/+5
2012-07-09rtp: add RTP_PT_RTCP (72-76 for RTCP)Pablo Neira Ayuso1-0/+2
As specified by RFC 3551, these are reserved to distinguish RCTP from RTP.
2012-07-09rtp: add missing RTP_PT_AMR for AMR-WB (type 98) and RTP_PT_GSM_HALF (96)Pablo Neira Ayuso1-0/+4
2012-07-07include: add AMR definitions in amr.h headerPablo Neira Ayuso2-1/+67
As defined by RFC3267 in Octed-Aligned mode.
2012-07-07rtp: split osmo_rtp_parse in two functionsPablo Neira Ayuso1-1/+3
This patch splits osmo_rtp_parse in two functions: osmo_rtp_get_hdr osmo_rtp_get_payload So we can validate corrent RTP header to access its fields. Then, obtain the payload.
2012-07-03rtp: remove unused rtp_handle parameter from osmo_rtp_parsePablo Neira Ayuso1-1/+1
And also adjust example files to use the new function. Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
2012-07-03rtp: move RTP header definitions to include rtp.hPablo Neira Ayuso1-0/+45
Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
2012-04-04add rs232 supportPablo Neira Ayuso1-0/+21
This include an example to open /dev/ttyACM0 to receive data from u-blox GPS and one to configure it in TIMEPULSE2 mode.
2012-02-23add RTP supportPablo Neira Ayuso2-0/+28
This patch adds the initial RTP support for libosmo-netif, it's based on Harald's RTP support available in openBSC. I have also added a couple of example to show how our new channel infrastructure interacts with the RTP layer. Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>