aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
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>
2011-11-08src: add generic channel infrastructure and A-bis IPA server supportPablo Neira Ayuso6-10/+105
This patch adds the generic channel infrastructure that allows to create channel of different types. Each channel has their own configuration functions. struct osmo_chan *chan; chan = osmo_chan_create(tall_example, CHAN_ABIS_IPA_SERVER); ... /* specific configuration functions per supported channel. */ osmo_chan_abis_ipa_server_set_cb_signalmsg(chan, signal_msg_cb); osmo_chan_abis_ipa_unit_add(chan, 1801, 0); /* open channel. */ osmo_chan_open(chan); The input path requires a callback to be registered. The output path is handled through: int osmo_chan_enqueue(struct osmo_chan *c, struct msgb *msg); The msg->dst must be set (it can be taken from the original message to route one reply). This patch also adds A-bis IPA server support. It has been tested with e1inp_ipa_bsc_test available in libosmo-abis.
2011-11-08stream: allow to set reconnect timeoutPablo Neira Ayuso1-0/+1
This patch allows to set reconnect timeout. If zero, it will try immediately. If negative, it will skip retrying.
2011-10-17ipa: initial addition of helper functions and examplesPablo Neira Ayuso2-0/+53
This patch adds IPA helper function that can be use on top of stream sockets. The current API is just a copy and paste from libosmo-abis, it will change in follow up patches to improve it.
2011-10-17stream: add osmo_stream_*_conn_get_ofd(...) functionsPablo Neira Ayuso1-0/+3
To obtain the file description.
2011-10-17stream: add osmo_stream_*_conn_recvPablo Neira Ayuso1-2/+4
Like c43bb089067ca05af4992fbafe46827a1f0a6e9b but for stream sockets.
2011-10-17datagram: add osmo_dgram_conn_recvPablo Neira Ayuso1-2/+5
We provide osmo_dgram_conn_recv(...) which allows you to take control on the message allocation and receival process. Instead of hiding this details inside the datagram infrastructure. Providing more control to clients of this code means more flexibility.
2011-10-14datagram: change prototype of osmo_dgram_conn_set_read_cbPablo Neira Ayuso1-1/+1
This patch changes the prototype of osmo_dgram_conn_set_read_cb. Now it takes one callback to a generic struct osmo_dgram_conn instead of osmo_dgram_server_conn. This is useful in case that you want to reply to one message using the datagram socket (without this change is not possible).
2011-10-09stream: add *_get_data() function to obtain private dataPablo Neira Ayuso1-0/+4
Add new functions: osmo_stream_server_link_get_data osmo_stream_server_conn_get_data osmo_stream_client_conn_get_data To obtain private data from osmo_stream_* handlers. This patch also introduces missing osmo_stream_server_conn_set_data.
2011-10-09datagram: add osmo_ prefix to all functionsPablo Neira Ayuso1-29/+29
Modify examples as well to use the new API.
2011-10-09stream: add osmo_ prefix to all functionsPablo Neira Ayuso1-23/+23
Modify examples as well to use the new API.
2011-10-05stream: remove includes from stream.h headerPablo Neira Ayuso1-5/+0
The should be uses in the client program. They are not required by the generic stream socket infrastructure.
2011-10-05add generic datagram socket infrastructure and examplesPablo Neira Ayuso2-1/+49
This patch adds new datagram socket infrastructure and it reworks the previous examples (now it's LAPD over datagram).
2011-10-04initial commitPablo Neira Ayuso4-0/+49