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; /* ink to call process */
16 unsigned long handle; /* handle for stack id */
18 int b_sock; /* socket for b-channel */
20 unsigned long b_stid; /* stack id */
21 unsigned long b_addr; /* channel address */
23 unsigned short bridge_id; /* bridge id */
24 struct bchannel *bridge_channel;
30 int b_tx_gain, b_rx_gain;
40 unsigned char b_crypt_key[128];
42 void (*rx_data)(struct bchannel *bchannel, unsigned char *data, int len);
43 void (*rx_dtmf)(struct bchannel *bchannel, char tone);
47 extern struct bchannel *bchannel_first;
49 int bchannel_initialize(void);
50 void bchannel_deinitialize(void);
51 int bchannel_create(struct bchannel *channel);
52 void bchannel_activate(struct bchannel *channel, int activate);
53 void bchannel_transmit(struct bchannel *channel, unsigned char *data, int len);
54 void bchannel_join(struct bchannel *channel, unsigned short id);
55 int bchannel_handle(void);
56 struct bchannel *find_bchannel_handle(unsigned long handle);
57 struct bchannel *find_bchannel_ref(unsigned long ref);
58 struct bchannel *alloc_bchannel(unsigned long handle);
59 void free_bchannel(struct bchannel *channel);