** **
\*****************************************************************************/
-/* structure for all calls */
-struct bchannel;
struct chan_call {
struct chan_call *next; /* link to next call instance */
int state; /* current call state CHAN_LCR_STATE */
void *ast; /* current asterisk channel */
int pbx_started;
/* indicates if pbx que is available */
- struct bchannel *bchannel;
- /* reference to bchannel, if set */
int audiopath;
/* audio is available */
int cause, location;
/* queue dialing prior setup ack */
char oad[64];/* caller id in number format */
+ struct caller_info callerinfo;
+ struct redir_info redirinfo;
struct connect_info connectinfo;
/* store connectinfo form lcr */
int bridge_id;
/* LCR interface name for setup */
char dialstring[64];
/* cached dial string for setup */
+#ifndef AST_PARTY_CALLER
char cid_num[64]; /* cached cid for setup */
char cid_name[64]; /* cached cid for setup */
char cid_rdnis[64]; /* cached cid for setup */
+#endif
char display[128];
/* display for setup */
- int dtmf;
- /* shall dtmf be enabled */
- int no_dtmf;
- /* dtmf disabled by option */
+ int dsp_dtmf;
+ /* decode dtmf by dsp */
int inband_dtmf; /* generate dtmf tones, if
requested by asterisk */
int rebuffer; /* send only 160 bytes frames
/* echo cancel pipeline by option */
int tx_gain, rx_gain;
/* gain by option */
+ int keypad;
+ /* use keypad to dial number */
unsigned char bf_key[56];
int bf_len; /* blowfish crypt key */
struct ast_dsp *dsp; /* ast dsp processor for fax/tone detection */
struct ast_trans_pvt *trans; /* Codec translation path as fax/tone detection requires slin */
- int nodsp, hdlc, faxdetect;
+ int tx_queue, hdlc, faxdetect, ast_dsp;
/* flags for bchannel mode */
char queue_string[64];
/* queue for asterisk */
+ int has_pattern;
+ /* pattern are available, PROGRESS has been indicated */
};
};
+#define SOCKET_RETRY_TIMER 5
+
#define CERROR(call, ast, arg...) chan_lcr_log(__LOG_ERROR, __FILE__, __LINE__, __FUNCTION__, call, ast, ##arg)
#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, ...);