X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=chan_lcr.h;h=ab7101de8f34fc9f336dd4f08e80f5fdf1ed7300;hp=69d4dc5803d39ce440aa02aef5384fb2ab07d107;hb=5566f74eb29be75da44e29ba72ee6f015249ce61;hpb=89d3a5de4769faafa46efb83e1e35db5b40f1309 diff --git a/chan_lcr.h b/chan_lcr.h index 69d4dc5..ab7101d 100644 --- a/chan_lcr.h +++ b/chan_lcr.h @@ -9,25 +9,24 @@ ** ** \*****************************************************************************/ -/* 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 */ 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 */ - struct bchannel *bchannel; - /* reference to bchannel, if set */ int audiopath; /* 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 caller_info callerinfo; + struct redir_info redirinfo; struct connect_info connectinfo; /* store connectinfo form lcr */ int bridge_id; @@ -44,25 +43,40 @@ struct chan_call { /* 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 + to asterisk */ + + int framepos; /* 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 */ + int keypad; + /* use keypad to dial number */ unsigned char bf_key[56]; int bf_len; /* blowfish crypt key */ - int transparent, hdlc; + 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 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 */ }; @@ -118,6 +132,8 @@ enum { }; +#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, ...);