1 /*****************************************************************************\
3 ** Linux Call Router **
5 **---------------------------------------------------------------------------**
6 ** Copyright: Andreas Eversberg **
8 ** mISDN channel handlin for remote application **
10 \*****************************************************************************/
14 struct bchannel *next;
15 struct chan_call *call; /* link to call process */
16 unsigned int handle; /* handle for stack id */
17 int b_sock; /* socket for b-channel */
18 int b_mode; /* dsp, raw, dsphdlc */
23 int b_tx_gain, b_rx_gain;
32 unsigned char b_bf_key[128];
34 unsigned char rebuffer[160];
38 extern struct bchannel *bchannel_first;
39 extern pid_t bchannel_pid;
41 int bchannel_initialize(void);
42 void bchannel_deinitialize(void);
43 void bchannel_destroy(struct bchannel *bchannel);
44 int bchannel_create(struct bchannel *channel, int mode);
45 void bchannel_activate(struct bchannel *channel, int activate);
46 void bchannel_transmit(struct bchannel *channel, unsigned char *data, int len);
47 void bchannel_join(struct bchannel *channel, unsigned short id);
48 void bchannel_dtmf(struct bchannel *channel, int on);
49 void bchannel_blowfish(struct bchannel *bchannel, unsigned char *key, int len);
50 void bchannel_pipeline(struct bchannel *bchannel, char *pipeline);
51 void bchannel_gain(struct bchannel *bchannel, int gain, int tx);
52 int bchannel_handle(void);
53 struct bchannel *find_bchannel_handle(unsigned int handle);
54 //struct bchannel *find_bchannel_ref(unsigned int ref);
55 struct bchannel *alloc_bchannel(unsigned int handle);
56 void free_bchannel(struct bchannel *channel);