aboutsummaryrefslogtreecommitdiffstats
path: root/src/e1_input.c
AgeCommit message (Collapse)AuthorFilesLines
2009-05-23With this patch, the TRAU muxing code supports not just bridging only. Harald Welte1-0/+1
A new function trau_recv_lchan() is used to link a channel to a call reference of a transaction. (Transactions are used in later patches.) TRAU frames will then be forwarded to the application with the given call reference (in later patches). Also the application can send TRAU frames by using trau_send_lchan(). A new list is introduced in trau_mux.c. (upqueue_entry) All subslots that must be sent to application are listed here. Received TRAU frames are written in the upqueue of application interface, if a call reference is found in the upqueue-list. If an entry is found the ss_entry list, the TRAU frames are bridged as before. The frames have a message type (msg_type), a call reference (callref) and a trau frame (data). The length of trau frame is defined by the content of the c-bits inside the frame. There is no support for ip.access yet, as they don't use the traditional TRAU frame format. Harald must add this in order to use application interface with ip-access. The bridging with ip-access works as before. (Andreas Eversberg)
2009-05-23To slow down transmission of many ABIS frames at a time, a delay timerHarald Welte1-8/+14
is used for the E1's time slot. This timer replaces the "usleep()" function, so the process will not block the execution of libbsc. The timer is started after a frame is transmitted. If another frame is in the transmit queue, the frame will only be queued until the timer times out. If the timer is not running or times out, the frame is transmitted and the timer is restarted. The problem with partly provisioned TRX (locks show on LMT) is solved. The adjustment for the inter frame delay of 50 miliseconds is for further study. (Andreas Eversberg)
2009-03-31[e1] Enable dumping of LAPD frames againHolger Freyther1-7/+11
Kill mi_set_pcap_fd from the header, introduce e1_set_pcap_fd and call it from bsc_hack.c. Hook into abis_rsl_sendmsg and _abis_nm_sendmsg for sending and e1inp_rx_ts for reading. It compiles and should not cause a regression.
2009-03-31[e1input] Do not redefine PF_ISDN if it is already definedHolger Freyther1-0/+2
Fix compile warning in e1_input.c
2009-03-10* make sure we can obtain signalling type and timslot type namesHarald Welte1-1/+28
* make sure every e1 timeslot has a valid backpointer to its line
2009-03-10export list of e1 drivers and e1 linesHarald Welte1-5/+5
2009-03-09[misc] Fix compile warnings...Holger Freyther1-1/+5
2009-02-17strip mISDN hardware header before putting B-channel data into subchannel ↵Harald Welte1-1/+1
demuxer
2009-02-09* correctly initialize link->tei and link->sapiHolger Freyther1-3/+4
* fix debug printf
2009-02-09* add trau_mux implementation to relay from one incoming TRAUHarald Welte1-0/+453
channel to another one (simple voice call switching) * add a way more generic E1 input layer, abstracting out the misdn low-level interface. This also adds infrastructure for multiple TRX in one BTS, as well as multiple BTS on one E1 link * add a E1 subchannel multiplexer for sending multiple 16kbit sub-channels one one 64kBps E1 channel * add TRAU IDLE frame generation * terminate bsc_hack in case there is a E1 / mISDN init error * introduce 'e1_config.c' file with static configuration of our E1 setup (which TRX/BTS is configured for which TEI/SAPI/E1). This should later become a config file rather than a compiled C file. WARNING: all this compiles but is not tested yet. Expect fix-up committs over the next hours or so