struct chan_call {
struct chan_call *next; /* link to next call instance */
int state; /* current call state CHAN_LCR_STATE */
- unsigned long ref; /* callref for this channel */
+ unsigned int ref; /* callref for this channel */
+ int ref_was_assigned;
void *ast; /* current asterisk channel */
int pbx_started;
/* indicates if pbx que is available */
/* audio is available */
int cause, location;
/* store cause from lcr */
- unsigned char dialque[64];
+ char dialque[64];
/* queue dialing prior setup ack */
char oad[64];/* caller id in number format */
+
struct connect_info connectinfo;
/* store connectinfo form lcr */
int bridge_id;
/* read buffer for frame */
struct ast_frame read_fr;
/* frame for read */
+ char interface[32];
+ /* LCR interface name for setup */
+ char dialstring[64];
+ /* cached dial string for setup */
+ char cid_num[64]; /* cached cid for setup */
+ char cid_name[64]; /* cached cid for setup */
+ char cid_rdnis[64]; /* cached cid for setup */
+ char display[128];
+ /* display for setup */
+ int dtmf;
+ /* shall dtmf be enabled */
+ int no_dtmf;
+ /* dtmf disabled by option */
+ int inband_dtmf; /* generate dtmf tones, if
+ requested by asterisk */
+ int rebuffer; /* send only 160 bytes frames
+ to asterisk */
+ int on_hold; /* track hold management, since
+ sip phones sometimes screw it up */
+ char pipeline[256];
+ /* echo cancel pipeline by option */
+ int tx_gain, rx_gain;
+ /* gain by option */
+ unsigned char bf_key[56];
+ int bf_len; /* blowfish crypt key */
+ int nodsp, hdlc;
+ /* flags for bchannel mode */
+ char queue_string[64];
+ /* queue for asterisk */
+
};
enum {
#define CDEBUG(call, ast, arg...) chan_lcr_log(__LOG_NOTICE, __FILE__, __LINE__, __FUNCTION__, call, ast, ##arg)
void chan_lcr_log(int type, const char *file, int line, const char *function, struct chan_call *call, struct ast_channel *ast, const char *fmt, ...);
extern unsigned char flip_bits[256];
+void lcr_in_dtmf(struct chan_call *call, int val);