2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/*
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Asterisk  - -  An  open  source  telephony  toolkit . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Copyright  ( C )  2013  Digium ,  Inc . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Richard  Mudgett  < rmudgett @ digium . com > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  See  http : //www.asterisk.org for more information about
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  the  Asterisk  project .  Please  do  not  directly  contact 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  any  of  the  maintainers  of  this  project  for  assistance ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  the  project  provides  a  web  site ,  mailing  lists  and  IRC 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  channels  for  your  use . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  program  is  free  software ,  distributed  under  the  terms  of 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  the  GNU  General  Public  License  Version  2.  See  the  LICENSE  file 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  at  the  top  of  the  source  tree . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*!
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  \ file 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  \ brief  DAHDI  internal  API  definitions . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  \ author  Richard  Mudgett  < rmudgett @ digium . com > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  See  Also : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  \ arg  \ ref  AstCREDITS 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifndef _ASTERISK_CHAN_DAHDI_H 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define _ASTERISK_CHAN_DAHDI_H 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if defined(HAVE_OPENR2) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  <openr2.h> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif	 /* defined(HAVE_OPENR2) */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  <dahdi/user.h> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  <dahdi/tonezone.h> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "asterisk/channel.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "asterisk/dsp.h" 
  
						 
					
						
							
								
									
										
										
										
											2013-12-19 16:52:43 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# include  "asterisk/app.h" 
  
						 
					
						
							
								
									
										
										
										
											2019-05-23 16:44:07 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# include  "asterisk/mwi.h" 
  
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if defined(__cplusplus) || defined(c_plusplus) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								extern  " C "  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* ------------------------------------------------------------------- */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if defined(HAVE_PRI) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  sig_pri_span ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif	 /* defined(HAVE_PRI) */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if defined(HAVE_SS7) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  sig_ss7_linkset ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif	 /* defined(HAVE_SS7) */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SUB_REAL		0			 /*!< Active call */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SUB_CALLWAIT	1			 /*!< Call-Waiting call on hold */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SUB_THREEWAY	2			 /*!< Three-way call */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  distRingData  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  ring [ 3 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  range ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  ringContextData  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  contextData [ AST_MAX_CONTEXT ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  dahdi_distRings  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  distRingData  ringnum [ 3 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  ringContextData  ringContext [ 3 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								extern  const  char  *  const  subnames [ ] ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  dahdi_subchannel  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  dfd ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  ast_channel  * owner ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  chan ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									short  buffer [ AST_FRIENDLY_OFFSET / 2  +  READ_SIZE ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  ast_frame  f ; 		/*!< One frame for each channel.  How did this ever work before? */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  needringing : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  needbusy : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  needcongestion : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  needanswer : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  needflash : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  needhold : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  needunhold : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  linear : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  inthreeway : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  dahdi_confinfo  curconf ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define MAX_SLAVES	4 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* States for sending MWI message
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  First  three  states  are  required  for  send  Ring  Pulse  Alert  Signal 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									MWI_SEND_NULL  =  0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									MWI_SEND_SA , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									MWI_SEND_SA_WAIT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									MWI_SEND_PAUSE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									MWI_SEND_SPILL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									MWI_SEND_CLEANUP , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									MWI_SEND_DONE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  mwisend_states ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  mwisend_info  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  timeval  pause ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									mwisend_states  mwisend_current ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*! Specify the lists dahdi_pvt can be put in. */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								enum  DAHDI_IFLIST  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									DAHDI_IFLIST_NONE , 	/*!< The dahdi_pvt is not in any list. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									DAHDI_IFLIST_MAIN , 	/*!< The dahdi_pvt is in the main interface list */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if defined(HAVE_PRI) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									DAHDI_IFLIST_NO_B_CHAN , 	/*!< The dahdi_pvt is in a no B channel interface list */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif	 /* defined(HAVE_PRI) */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  dahdi_pvt  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ast_mutex_t  lock ; 					/*!< Channel private lock. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  callerid_state  * cs ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  ast_channel  * owner ; 			/*!< Our current active owner (if applicable) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															/*!< Up to three channels can be associated with this call */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  dahdi_subchannel  sub_unused ; 		/*!< Just a safety precaution */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  dahdi_subchannel  subs [ 3 ] ; 			/*!< Sub-channels */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  dahdi_confinfo  saveconf ; 			/*!< Saved conference info */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  dahdi_pvt  * slaves [ MAX_SLAVES ] ; 		/*!< Slave to us (follows our conferencing) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  dahdi_pvt  * master ; 				/*!< Master to us (we follow their conferencing) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  inconference ; 				/*!< If our real should be in the conference */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  bufsize ;                 /*!< Size of the buffers */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  buf_no ; 					/*!< Number of buffers */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  buf_policy ; 				/*!< Buffer policy */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  faxbuf_no ;               /*!< Number of Fax buffers */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  faxbuf_policy ;           /*!< Fax buffer policy */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  sig ; 					/*!< Signalling style */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Nonzero  if  the  signaling  type  is  sent  over  a  radio . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  to  a  couple  of  nonzero  values  but  it  is  only  tested  like  a  boolean . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  radio ; 
							 
						 
					
						
							
								
									
										
										
										
											2025-08-18 08:56:23 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									enum  analog_dialmode  permdialmode ; 	/*!< Dialing Modes Allowed (Pulse/Tone). Used for reading in chan_dahdi.conf only, the perm setting pair is in sig_analog */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									int  outsigmod ; 					/*!< Outbound Signalling style (modifier) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  oprmode ; 					/*!< "Operator Services" mode */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  dahdi_pvt  * oprpeer ; 				/*!< "Operator Services" peer tech_pvt ptr */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-14 22:52:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*! \brief Hardware Rx gain set by chan_dahdi.conf */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  hwrxgain ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Hardware Tx gain set by chan_dahdi.conf */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  hwtxgain ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									/*! \brief Amount of gain to increase during caller id */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  cid_rxgain ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-14 22:06:01 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*! \brief Software Rx gain set by chan_dahdi.conf */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									float  rxgain ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-14 22:06:01 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*! \brief Software Tx gain set by chan_dahdi.conf */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									float  txgain ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  txdrc ;  /*!< Dynamic Range Compression factor. a number between 1 and 6ish */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  rxdrc ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  tonezone ; 					/*!< tone zone for this chan, or -1 for default */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									enum  DAHDI_IFLIST  which_iflist ; 	/*!< Which interface list is this structure listed? */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  dahdi_pvt  * next ; 				/*!< Next channel in list */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  dahdi_pvt  * prev ; 				/*!< Prev channel in list */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* flags */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  ADSI  ( Analog  Display  Services  Interface )  available 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " adsi "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  adsi : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  we  can  use  a  polarity  reversal  to  mark  when  an  outgoing 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  call  is  answered  by  the  remote  party . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " answeronpolarityswitch "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  answeronpolarityswitch : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-19 21:36:34 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  INTEGER ,  number  of  ANI  INFO  digits  on  a  CAMA  trunk . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  older  switches  use  1  INFO  digit ,  newer  switches  use  2  INFO  digits 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " ani_info_digits "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  ani_info_digits : 8 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  INTEGER ,  length  of  ANI  failure  timeout  in  ms . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " ani_timeout "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  ani_timeout : 16 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  INTEGER ,  length  of  time  to  wait  before  sending  ANI  wink  in  ms . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " ani_wink_time "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  ani_wink_time : 16 ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  busy  detection  is  enabled . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  ( Listens  for  the  beep - beep  busy  pattern . ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " busydetect "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  busydetect : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-08-09 22:04:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  Called  Subscriber  held  is  enabled . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  This  allows  a  single  incoming  call  to  hold  a  DAHDI  channel  up , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  allowing  a  recipient  to  hang  up  an  extension  and  pick  up  another 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  phone  on  the  same  line  without  disconnecting  the  call . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  calledsubscriberheld : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  call  return  is  enabled . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  ( * 69 ,  if  your  dialplan  doesn ' t  catch  this  first ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " callreturn "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  callreturn : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  busy  extensions  will  hear  the  call - waiting  tone 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  and  can  use  hook - flash  to  switch  between  callers . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Can  be  disabled  by  dialing  * 70. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Initialized  with  the  " callwaiting "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  callwaiting : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  send  caller  ID  for  Call  Waiting 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " callwaitingcallerid "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  callwaitingcallerid : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  support  for  call  forwarding  enabled . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  Dial  * 72  to  enable  call  forwarding . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  Dial  * 73  to  disable  call  forwarding . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " cancallforward "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  cancallforward : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  support  for  call  parking  is  enabled . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " canpark "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  canpark : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if to wait for a DTMF digit to confirm answer */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  confirmanswer : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  the  channel  is  to  be  destroyed  on  hangup . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  ( Used  by  pseudo  channels . ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  destroy : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  didtdd : 1 ; 				/*!< flag to say its done it once */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if analog type line dialed no digits in Dial() */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  dialednone : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  in  the  process  of  dialing  digits  or  sending  something . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  This  is  used  as  a  receive  squelch  for  ISDN  until  connected . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  dialing : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if the transfer capability of the call is digital. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  digital : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if Do-Not-Disturb is enabled, present only for non sig_analog */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  dnd : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief XXX BOOLEAN Purpose??? */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  echobreak : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  echo  cancellation  enabled  when  bridged . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Initialized  with  the  " echocancelwhenbridged "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Disabled  if  the  echo  canceller  is  not  setup . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  echocanbridged : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if echo cancellation is turned on. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  echocanon : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if a fax tone has already been handled. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  faxhandled : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! TRUE if dynamic faxbuffers are configured for use, default is OFF */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  usefaxbuffers : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! TRUE while buffer configuration override is in use */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  bufferoverrideinuse : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if over a radio and dahdi_read() has been called. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  firstradio : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  the  call  will  be  considered  " hung up "  on  a  polarity  reversal . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " hanguponpolarityswitch "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  hanguponpolarityswitch : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-08-04 17:26:05 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  FXS  ( FXO - signalled )  channel  should  reoriginate  for  user  to  make  a  new  call . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  reoriginate : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Internal  flag  for  if  we  should  actually  process  a  reorigination . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  doreoriginate : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if DTMF detection needs to be done by hardware. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  hardwaredtmf : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  the  outgoing  caller  ID  is  blocked / hidden . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Caller  ID  can  be  disabled  by  dialing  * 67. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Caller  ID  can  be  enabled  by  dialing  * 82. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Initialized  with  the  " hidecallerid "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  hidecallerid : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  hide  just  the  name  not  the  number  for  legacy  PBX  use . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Only  applies  to  PRI  channels . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " hidecalleridname "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  hidecalleridname : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if DTMF detection is disabled. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  ignoredtmf : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  the  channel  should  be  answered  immediately 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  without  attempting  to  gather  any  digits . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " immediate "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  immediate : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-08 22:04:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  audible  ringback  should  be  provided 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  when  immediate  =  yes . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " immediatering "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  immediatering : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if in an alarm condition. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  inalarm : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if TDD in MATE mode */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mate : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if we originated the call leg. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  outgoing : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  busy  extensions  will  hear  the  call - waiting  tone 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  and  can  use  hook - flash  to  switch  between  callers . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " callwaiting "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  permcallwaiting : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-08-24 14:07:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  Call  Waiting  Deluxe  options  should  be  available 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  callwaitingdeluxe : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  the  outgoing  caller  ID  is  blocked / restricted / hidden . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " hidecallerid "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  permhidecallerid : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  PRI  congestion / busy  indications  are  sent  out - of - band . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " priindication "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  priindication_oob : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  PRI  B  channels  are  always  exclusively  selected . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " priexclusive "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  priexclusive : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  we  will  pulse  dial . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " pulsedial "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  pulse : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if a pulsed digit was detected. (Pulse dial phone detected) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  pulsedial : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  restartpending : 1 ; 		/*!< flag to ensure counted only once for restart */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  caller  ID  is  restricted . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  but  not  used .   Should  be  deleted .   Redundant  with  permhidecallerid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " restrictcid "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  restrictcid : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  three  way  calling  is  enabled 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " threewaycalling "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  threewaycalling : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-10 18:53:43 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  a  three  way  dial  tone  should  time  out  to  silence 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " threewaysilenthold "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  threewaysilenthold : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  call  transfer  is  enabled 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  For  FXS  ports  ( either  direct  analog  or  over  T1 / E1 ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *    Support  flash - hook  call  transfer 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  For  digital  ports  using  ISDN  PRI  protocols : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *    Support  switch - side  transfer  ( called  2 BCT ,  RLT  or  other  names ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " transfer "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  transfer : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  caller  ID  is  used  on  this  channel . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  PRI  and  SS7  spans  will  save  caller  ID  from  the  networking  peer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  FXS  ports  will  generate  the  caller  ID  spill . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  FXO  ports  will  listen  for  the  caller  ID  spill . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " usecallerid "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  use_callerid : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  we  will  use  the  calling  presentation  setting 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  from  the  Asterisk  channel  for  outgoing  calls . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Only  applies  to  PRI  and  SS7  channels . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " usecallingpres "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  use_callingpres : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  distinctive  rings  are  to  be  detected . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  For  FXO  lines 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  indirectly  from  the  " usedistinctiveringdetection "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  usedistinctiveringdetection : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  we  should  use  the  callerid  from  incoming  call  on  dahdi  transfer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " useincomingcalleridondahditransfer "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  dahditrcallerid : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  allowed  to  flash - transfer  to  busy  channels . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " transfertobusy "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  transfertobusy : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  the  FXO  port  monitors  for  neon  type  MWI  indications  from  the  other  end . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  if  the  " mwimonitor "  value  read  in  contains  " neon "  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mwimonitor_neon : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  the  FXO  port  monitors  for  fsk  type  MWI  indications  from  the  other  end . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  if  the  " mwimonitor "  value  read  in  contains  " fsk "  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mwimonitor_fsk : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  the  FXO  port  monitors  for  rpas  precursor  to  fsk  MWI  indications  from  the  other  end . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  RPAS  -  Ring  Pulse  Alert  Signal 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  if  the  " mwimonitor "  value  read  in  contains  " rpas "  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mwimonitor_rpas : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if an MWI monitor thread is currently active */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mwimonitoractive : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if a MWI message sending thread is active */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mwisendactive : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-10 09:44:25 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*! \brief TRUE if a manual MWI override is active for a channel */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mwioverride_active : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Manual MWI disposition (on/off) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mwioverride_disposition : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  channel  is  out  of  reset  and  ready 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-16 18:27:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 *  \ note  Used  by  SS7 .   Otherwise  set  but  not  used . 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  inservice : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-10 08:30:33 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*! *\brief TRUE if last number redial enabled */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  lastnumredial : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-16 18:27:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 *  \ brief  Bitmask  for  the  channel  being  locally  blocked . 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									 *  \ note  Applies  to  SS7  and  MFCR2  channels . 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-16 18:27:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 *  \ note  For  MFCR2  only  the  first  bit  is  used  -  TRUE  if  blocked 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  For  SS7  two  bits  are  used 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Bit  0  -  TRUE  if  maintenance  blocked 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Bit  1  -  TRUE  if  hardware  blocked 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-16 18:27:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									unsigned  int  locallyblocked : 2 ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-16 18:27:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 *  \ brief  Bitmask  for  the  channel  being  remotely  blocked .  1  maintenance ,  2  blocked  in  hardware . 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									 *  \ note  Applies  to  SS7  and  MFCR2  channels . 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-16 18:27:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 *  \ note  For  MFCR2  only  the  first  bit  is  used  -  TRUE  if  blocked 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  For  SS7  two  bits  are  used 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Bit  0  -  TRUE  if  maintenance  blocked 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Bit  1  -  TRUE  if  hardware  blocked 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-16 18:27:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									unsigned  int  remotelyblocked : 2 ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  the  channel  alarms  will  be  managed  also  as  Span  ones 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Applies  to  all  channels 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  manages_span_alarms : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-14 22:52:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*! \brief TRUE if hardware Rx gain set by Asterisk */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  hwrxgain_enabled ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if hardware Tx gain set by Asterisk */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  hwtxgain_enabled ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if defined(HAVE_PRI) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  sig_pri_span  * pri ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  logicalspan ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif	 /* defined(HAVE_PRI) */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  SMDI  ( Simplified  Message  Desk  Interface )  is  enabled 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " usesmdi "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  use_smdi : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  mwisend_info  mwisend_data ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief The SMDI interface to get SMDI messages from. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  ast_smdi_interface  * smdi_iface ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Distinctive Ring data */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  dahdi_distRings  drings ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  The  configured  context  for  incoming  calls . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  The  " context "  string  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  context [ AST_MAX_CONTEXT ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  A  description  for  the  channel  configuration 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  The  " description "  string  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  description [ 32 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
									
										
										
										
											2015-03-06 20:24:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 *  \ brief  Default  distinctive  ring  context . 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  defcontext [ AST_MAX_CONTEXT ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Extension to use in the dialplan. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  exten [ AST_MAX_EXTENSION ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Language  configured  for  calls . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  The  " language "  string  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  language [ MAX_LANGUAGE ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  The  configured  music - on - hold  class  to  use  for  calls . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  The  " musicclass "  or  " mohinterpret "  or  " musiconhold "  string  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  mohinterpret [ MAX_MUSICCLASS ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Suggested  music - on - hold  class  for  peer  channel  to  use  for  calls . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  The  " mohsuggest "  string  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  mohsuggest [ MAX_MUSICCLASS ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  parkinglot [ AST_MAX_EXTENSION ] ;  /*!< Parking lot for this channel */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if defined(HAVE_PRI) || defined(HAVE_SS7) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Automatic Number Identification number (Alternate PRI caller ID number) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  cid_ani [ AST_MAX_EXTENSION ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif	 /* defined(HAVE_PRI) || defined(HAVE_SS7) */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Automatic Number Identification code from PRI */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  cid_ani2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Caller ID number from an incoming call. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  cid_num [ AST_MAX_EXTENSION ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Caller  ID  tag  from  incoming  call 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  the  " cid_tag "  string  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  cid_tag [ AST_MAX_EXTENSION ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Caller ID Q.931 TON/NPI field values.  Set by PRI. Zero otherwise. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  cid_ton ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Caller ID name from an incoming call. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  cid_name [ AST_MAX_EXTENSION ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Caller ID subaddress from an incoming call. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  cid_subaddr [ AST_MAX_EXTENSION ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  * origcid_num ; 				/*!< malloced original callerid */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  * origcid_name ; 				/*!< malloced original callerid */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Call waiting number. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  callwait_num [ AST_MAX_EXTENSION ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Call waiting name. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  callwait_name [ AST_MAX_EXTENSION ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Redirecting Directory Number Information Service (RDNIS) number */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  rdnis [ AST_MAX_EXTENSION ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Dialed Number Identifier */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  dnid [ AST_MAX_EXTENSION ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Bitmapped  groups  this  belongs  to . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  The  " group "  bitmapped  group  string  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ast_group_t  group ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Default call PCM encoding format: DAHDI_LAW_ALAW or DAHDI_LAW_MULAW. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  law_default ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Active PCM encoding format: DAHDI_LAW_ALAW or DAHDI_LAW_MULAW */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  law ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  confno ; 					/*!< Our conference */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  confusers ; 					/*!< Who is using our conference */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  propconfno ; 					/*!< Propagated conference number */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Bitmapped  call  groups  this  belongs  to . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  The  " callgroup "  bitmapped  group  string  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ast_group_t  callgroup ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Bitmapped  pickup  groups  this  belongs  to . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  The  " pickupgroup "  bitmapped  group  string  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ast_group_t  pickupgroup ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Named  call  groups  this  belongs  to . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  The  " namedcallgroup "  string  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  ast_namedgroups  * named_callgroups ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Named  pickup  groups  this  belongs  to . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  The  " namedpickupgroup "  string  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  ast_namedgroups  * named_pickupgroups ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Channel  variable  list  with  associated  values  to  set  when  a  channel  is  created . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  The  " setvar "  strings  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  ast_variable  * vars ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  channel ; 					/*!< Channel Number */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  span ; 					/*!< Span number */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									time_t  guardtime ; 				/*!< Must wait this much time before using for new call */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  cid_signalling ; 				/*!< CID signalling type bell202 or v23 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  cid_start ; 					/*!< CID start indicator, polarity or ring or DTMF without warning event */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  dtmfcid_holdoff_state ; 		/*!< State indicator that allows for line to settle before checking for dtmf energy */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  timeval 	dtmfcid_delay ;   /*!< Time value used for allow line to settle */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  callingpres ; 				/*!< The value of calling presentation that we're going to use when placing a PRI call */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  callwaitingrepeat ; 				/*!< How many samples to wait before repeating call waiting */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  cidcwexpire ; 				/*!< When to stop waiting for CID/CW CAS response (In samples) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  cid_suppress_expire ; 		/*!< How many samples to suppress after a CID spill. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Analog caller ID waveform sample buffer */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  char  * cidspill ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Position in the cidspill buffer to send out next. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  cidpos ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Length of the cidspill buffer containing samples. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  cidlen ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Ring timeout timer?? */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  ringt ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Ring  timeout  base . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Value  computed  indirectly  from  " ringtimeout "  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  ringt_base ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Number  of  most  significant  digits / characters  to  strip  from  the  dialed  number . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Feature  is  deprecated .   Use  dialplan  logic . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  The  characters  are  stripped  before  the  PRI  TON / NPI  prefix 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  characters  are  processed . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  stripmsd ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  TRUE  if  Call  Waiting  ( CW )  CPE  Alert  Signal  ( CAS )  is  being  sent . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  After  CAS  is  sent ,  the  call  waiting  caller  id  will  be  sent  if  the  phone 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  gives  a  positive  reply . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  callwaitcas ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Number of call waiting rings. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  callwaitrings ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Echo cancel parameters. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										struct  dahdi_echocanparams  head ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										struct  dahdi_echocanparam  params [ DAHDI_MAX_ECHOCANPARAMS ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									}  echocancel ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Echo  training  time .  0  =  disabled 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " echotraining "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  echotraining ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Filled with 'w'.  XXX Purpose?? */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  echorest [ 20 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Number  of  times  to  see  " busy "  tone  before  hanging  up . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " busycount "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  busycount ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Busy  cadence  pattern  description . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " busypattern "  value  read  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  ast_dsp_busy_pattern  busy_cadence ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Bitmapped  call  progress  detection  flags .  CALLPROGRESS_xxx  values . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Bits  set  from  the  " callprogress "  and  " faxdetect "  values  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  callprogress ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Number  of  milliseconds  to  wait  for  dialtone . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " waitfordialtone "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  waitfordialtone ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-02 13:24:20 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Transient  variable .  Same  as  waitfordialtone ,  but  temporarily  set  for  a  specific  call ,  rather  than  permanently  for  the  channel . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  waitfordialtonetemp ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Transient  variable .  Stored  off  waitfordialtone  duration  at  runtime . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  waitfordialtoneduration ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Number  of  frames  to  watch  for  dialtone  in  incoming  calls 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " dialtone_detect "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  dialtone_detect ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  dialtone_scanning_time_elapsed ; 	/*!< Amount of audio scanned for dialtone, in frames */ 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-18 16:16:56 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  The  number  of  seconds  into  call  to  disable  fax  detection .   ( 0  =  disabled ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " faxdetect_timeout "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  faxdetect_timeout ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-03-21 14:30:18 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Time  ( ms )  to  detect  first  digit  ( in  an  analog  phone ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " firstdigit_timeout "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  firstdigit_timeout ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Time  ( ms )  to  detect  following  digits  ( in  an  analog  phone ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " interdigit_timeout "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  interdigit_timeout ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Time  ( ms )  to  wait ,  in  case  of  ambiguous  match  ( in  an  analog  phone ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " matchdigit_timeout "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  matchdigit_timeout ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									struct  timeval  waitingfordt ; 			/*!< Time we started waiting for dialtone */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  timeval  flashtime ; 			/*!< Last flash-hook time */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Opaque DSP configuration structure. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  ast_dsp  * dsp ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief DAHDI dial operation command struct for ioctl() call. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  dahdi_dialoperation  dop ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  whichwink ; 					/*!< SIG_FEATDMF_TA Which wink are we on? */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Second part of SIG_FEATDMF_TA wink operation. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  finaldial [ 64 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  accountcode [ AST_MAX_ACCOUNT_CODE ] ; 		/*!< Account code */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  amaflags ; 					/*!< AMA Flags */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  tdd_state  * tdd ; 				/*!< TDD flag */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Accumulated call forwarding number. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  call_forward [ AST_MAX_EXTENSION ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Voice  mailbox  location . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " mailbox "  string  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-12-19 16:52:43 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									char  mailbox [ AST_MAX_MAILBOX_UNIQUEID ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									/*! \brief Opaque event subscription parameters for message waiting indication support. */ 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-12 13:11:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  ast_mwi_subscriber  * mwi_event_sub ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									/*! \brief Delayed dialing for E911.  Overlap digits for ISDN. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  dialdest [ 256 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifdef HAVE_DAHDI_LINEREVERSE_VMWI 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  dahdi_vmwi_info  mwisend_setting ; 				/*!< Which VMWI methods to use */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mwisend_fsk :  1 ; 		/*! Variable for enabling FSK MWI handling in chan_dahdi */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mwisend_rpas : 1 ; 		/*! Variable for enabling Ring Pulse Alert before MWI FSK Spill */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  distinctivering ; 				/*!< Which distinctivering to use */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  dtmfrelax ; 					/*!< whether to run in relaxed DTMF mode */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Holding place for event injected from outside normal operation. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  fake_event ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Minimal  time  period  ( ms )  between  the  answer  polarity 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  switch  and  hangup  polarity  switch . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  polarityonanswerdelay ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Start delay time if polarityonanswerdelay is nonzero. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  timeval  polaritydelaytv ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ brief  Send  caller  ID  on  FXS  after  this  many  rings .  Set  to  1  for  US . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  \ note  Set  from  the  " sendcalleridafter "  value  read  in  from  chan_dahdi . conf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  sendcalleridafter ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief Current line interface polarity. POLARITY_IDLE, POLARITY_REV */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  polarity ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief DSP feature flags: DSP_FEATURE_xxx */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  dsp_features ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if defined(HAVE_SS7) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief SS7 control parameters */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  sig_ss7_linkset  * ss7 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif	 /* defined(HAVE_SS7) */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if defined(HAVE_OPENR2) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  dahdi_mfcr2  * mfcr2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									openr2_chan_t  * r2chan ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									openr2_calling_party_category_t  mfcr2_recvd_category ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									openr2_calling_party_category_t  mfcr2_category ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  mfcr2_dnis_index ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  mfcr2_ani_index ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 12:36:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									unsigned  int  mfcr2call : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mfcr2_answer_pending : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mfcr2_charge_calls : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mfcr2_allow_collect_calls : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mfcr2_forced_release : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mfcr2_dnis_matched : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mfcr2_call_accepted : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mfcr2_accept_on_offer : 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									unsigned  int  mfcr2_progress_sent : 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# endif	 /* defined(HAVE_OPENR2) */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief DTMF digit in progress.  0 when no digit in progress. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  begindigit ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*! \brief TRUE if confrence is muted. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  muting ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  * sig_pvt ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  ast_cc_config_params  * cc_params ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* DAHDI channel names may differ greatly from the
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  string  that  was  provided  to  an  app  such  as  Dial .  We 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  need  to  save  the  original  string  passed  to  dahdi_request 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  for  call  completion  purposes .  This  way ,  we  can  replicate 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  the  original  dialed  string  later . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  dialstring [ AST_CHANNEL_NAME ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Analog signaling */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_EM          DAHDI_SIG_EM 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_EMWINK      (0x0100000 | DAHDI_SIG_EM) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_FEATD       (0x0200000 | DAHDI_SIG_EM) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_FEATDMF     (0x0400000 | DAHDI_SIG_EM) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_FEATB       (0x0800000 | DAHDI_SIG_EM) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_E911        (0x1000000 | DAHDI_SIG_EM) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_FEATDMF_TA  (0x2000000 | DAHDI_SIG_EM) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_FGC_CAMA    (0x4000000 | DAHDI_SIG_EM) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_FGC_CAMAMF  (0x8000000 | DAHDI_SIG_EM) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_FXSLS       DAHDI_SIG_FXSLS 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_FXSGS       DAHDI_SIG_FXSGS 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_FXSKS       DAHDI_SIG_FXSKS 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_FXOLS       DAHDI_SIG_FXOLS 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_FXOGS       DAHDI_SIG_FXOGS 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_FXOKS       DAHDI_SIG_FXOKS 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_SF          DAHDI_SIG_SF 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_SFWINK      (0x0100000 | DAHDI_SIG_SF) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_SF_FEATD    (0x0200000 | DAHDI_SIG_SF) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_SF_FEATDMF  (0x0400000 | DAHDI_SIG_SF) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_SF_FEATB    (0x0800000 | DAHDI_SIG_SF) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_EM_E1       DAHDI_SIG_EM_E1 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* PRI signaling */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_PRI         DAHDI_SIG_CLEAR 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_BRI         (0x2000000 | DAHDI_SIG_CLEAR) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_BRI_PTMP    (0X4000000 | DAHDI_SIG_CLEAR) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* SS7 signaling */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_SS7         (0x1000000 | DAHDI_SIG_CLEAR) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* MFC/R2 signaling */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_MFCR2       DAHDI_SIG_CAS 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SIG_PRI_LIB_HANDLE_CASES	\ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									SIG_PRI : 						\
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_BRI : 					\
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_BRI_PTMP 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*!
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  \ internal 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  \ brief  Determine  if  sig_pri  handles  the  signaling . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  \ since  1.8 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  \ param  signaling  Signaling  to  determine  if  is  for  sig_pri . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  \ return  TRUE  if  the  signaling  is  for  sig_pri . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  inline  int  dahdi_sig_pri_lib_handles ( int  signaling )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  handles ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									switch  ( signaling )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_PRI_LIB_HANDLE_CASES : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										handles  =  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									default : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										handles  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  handles ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 16:26:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  inline  int  dahdi_analog_lib_handles ( int  signalling ,  int  radio ,  int  oprmode )  
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									switch  ( signalling )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_FXOLS : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_FXOGS : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_FXOKS : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_FXSLS : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_FXSGS : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_FXSKS : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_EMWINK : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_EM : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_EM_E1 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_FEATD : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_FEATDMF : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_E911 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_FGC_CAMA : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_FGC_CAMAMF : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_FEATB : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_SFWINK : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_SF : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_SF_FEATD : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_SF_FEATDMF : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_FEATDMF_TA : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  SIG_SF_FEATB : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									default : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										/* The rest of the function should cover the remainder of signalling types */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( radio )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( oprmode )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define dahdi_get_index(ast, p, nullok)	_dahdi_get_index(ast, p, nullok, __PRETTY_FUNCTION__, __LINE__) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								int  _dahdi_get_index ( struct  ast_channel  * ast ,  struct  dahdi_pvt  * p ,  int  nullok ,  const  char  * fname ,  unsigned  long  line ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 16:26:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  dahdi_dtmf_detect_disable ( struct  dahdi_pvt  * p ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  dahdi_dtmf_detect_enable ( struct  dahdi_pvt  * p ) ;  
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 16:26:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  dahdi_ec_enable ( struct  dahdi_pvt  * p ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  dahdi_ec_disable ( struct  dahdi_pvt  * p ) ;  
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-07-23 16:26:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  dahdi_conf_update ( struct  dahdi_pvt  * p ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  dahdi_master_slave_link ( struct  dahdi_pvt  * slave ,  struct  dahdi_pvt  * master ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  dahdi_master_slave_unlink ( struct  dahdi_pvt  * slave ,  struct  dahdi_pvt  * master ,  int  needlock ) ;  
						 
					
						
							
								
									
										
										
										
											2013-07-23 15:59:32 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* ------------------------------------------------------------------- */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if defined(__cplusplus) || defined(c_plusplus) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif	 /* _ASTERISK_CHAN_DAHDI_H */