struct bchannel {
struct bchannel *next;
- struct chan_call *call; /* ink to call process */
+ struct chan_call *call; /* link to call process */
unsigned long handle; /* handle for stack id */
-#ifdef SOCKET_MISDN
int b_sock; /* socket for b-channel */
-#else
- unsigned long b_stid; /* stack id */
- unsigned long b_addr; /* channel address */
-#endif
- unsigned short bridge_id; /* bridge id */
- struct bchannel *bridge_channel;
- /* remote channel */
int b_state;
int b_txdata;
int b_delay;
int b_crypt_len;
int b_crypt_type;
unsigned char b_crypt_key[128];
-
- void (*rx_data)(struct bchannel *bchannel, unsigned char *data, int len);
- void (*rx_dtmf)(struct bchannel *bchannel, char tone);
};
extern struct bchannel *bchannel_first;
+extern pid_t bchannel_pid;
int bchannel_initialize(void);
void bchannel_deinitialize(void);
void bchannel_activate(struct bchannel *channel, int activate);
void bchannel_transmit(struct bchannel *channel, unsigned char *data, int len);
void bchannel_join(struct bchannel *channel, unsigned short id);
+void bchannel_dtmf(struct bchannel *channel, int on);
int bchannel_handle(void);
struct bchannel *find_bchannel_handle(unsigned long handle);
-struct bchannel *find_bchannel_ref(unsigned long ref);
+//struct bchannel *find_bchannel_ref(unsigned long ref);
struct bchannel *alloc_bchannel(unsigned long handle);
void free_bchannel(struct bchannel *channel);