mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +00:00 
			
		
		
		
	Merged revisions 303769 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r303769 | rmudgett | 2011-01-25 11:42:42 -0600 (Tue, 25 Jan 2011) | 47 lines Merged revisions 303765 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r303765 | rmudgett | 2011-01-25 11:36:50 -0600 (Tue, 25 Jan 2011) | 40 lines Sending out unnecessary PROCEEDING messages breaks overlap dialing. Issue #16789 was a good idea. Unfortunately, it breaks overlap dialing through Asterisk. There is not enough information available at this point to know if dialing is complete. The ast_exists_extension(), ast_matchmore_extension(), and ast_canmatch_extension() calls are not adequate to detect a dial through extension pattern of "_9!". Workaround is to use the dialplan Proceeding() application early in non-dial through extensions. * Effectively revert issue #16789. * Allow outgoing overlap dialing to hear dialtone and other early media. A PROGRESS "inband-information is now available" message is now sent after the SETUP_ACKNOWLEDGE message for non-digital calls. An AST_CONTROL_PROGRESS is now generated for incoming SETUP_ACKNOWLEDGE messages for non-digital calls. * Handling of the AST_CONTROL_CONGESTION in chan_dahdi/sig_pri was inconsistent with the cause codes. * Added better protection from sending out of sequence messages by combining several flags into a single enum value representing call progress level. * Added diagnostic messages for deferred overlap digits handling corner cases. (closes issue #17085) Reported by: shawkris (closes issue #18509) Reported by: wimpy Patches: issue18509_early_media_v1.8_v3.patch uploaded by rmudgett (license 664) Expanded upon issue18509_early_media_v1.8_v3.patch to include analog and SS7 because of backporting requirements. Tested by: wimpy, rmudgett ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@303771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		| @@ -84,6 +84,20 @@ enum sig_ss7_law { | ||||
| 	SIG_SS7_ALAW | ||||
| }; | ||||
|  | ||||
| /*! Call establishment life cycle level for simple comparisons. */ | ||||
| enum sig_ss7_call_level { | ||||
| 	/*! Call does not exist. */ | ||||
| 	SIG_SS7_CALL_LEVEL_IDLE, | ||||
| 	/*! Call is present but has no response yet. (SETUP) */ | ||||
| 	SIG_SS7_CALL_LEVEL_SETUP, | ||||
| 	/*! Call routing is happening. (PROCEEDING) */ | ||||
| 	SIG_SS7_CALL_LEVEL_PROCEEDING, | ||||
| 	/*! Called party is being alerted of the call. (ALERTING) */ | ||||
| 	SIG_SS7_CALL_LEVEL_ALERTING, | ||||
| 	/*! Call is connected/answered. (CONNECT) */ | ||||
| 	SIG_SS7_CALL_LEVEL_CONNECT, | ||||
| }; | ||||
|  | ||||
| struct sig_ss7_linkset; | ||||
|  | ||||
| struct sig_ss7_callback { | ||||
| @@ -120,6 +134,9 @@ struct sig_ss7_chan { | ||||
| 	/*! \brief Opaque libss7 call control structure */ | ||||
| 	struct isup_call *ss7call; | ||||
|  | ||||
| 	/*! Call establishment life cycle level for simple comparisons. */ | ||||
| 	enum sig_ss7_call_level call_level; | ||||
|  | ||||
| 	int channel;					/*!< Channel Number */ | ||||
| 	int cic;						/*!< CIC associated with channel */ | ||||
| 	unsigned int dpc;				/*!< CIC's DPC */ | ||||
| @@ -192,15 +209,8 @@ struct sig_ss7_chan { | ||||
| 	unsigned int inalarm:1; | ||||
| 	/*! TRUE if this channel is being used for an outgoing call. */ | ||||
| 	unsigned int outgoing:1; | ||||
| 	/*! | ||||
| 	 * \brief TRUE if call is in a proceeding state. | ||||
| 	 * The call has started working its way through the network. | ||||
| 	 */ | ||||
| 	unsigned int proceeding:1; | ||||
| 	/*! \brief TRUE if the call has seen progress through the network. */ | ||||
| 	/*! \brief TRUE if the call has seen inband-information progress through the network. */ | ||||
| 	unsigned int progress:1; | ||||
| 	/*! \brief TRUE if channel is alerting/ringing */ | ||||
| 	unsigned int alerting:1; | ||||
| 	/*! \brief TRUE if the call has already gone/hungup */ | ||||
| 	unsigned int alreadyhungup:1; | ||||
| 	/*! \brief XXX BOOLEAN Purpose??? */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user