aboutsummaryrefslogtreecommitdiffstats
path: root/channels/sig_pri.c
AgeCommit message (Collapse)AuthorFilesLines
2011-05-17Option needed for Q931_IE_TIME_DATE to be optional in CONNECT message.rmudgett1-0/+3
The NEC SV8300 rejects the Q931_IE_TIME_DATE for Q.SIG. Add option to specify if and how much of the current time is put in Q931_IE_TIME_DATE. * Send date/time ie never. * Send date/time ie date only. * Send date/time ie date and hour. * Send date/time ie date, hour, and minute. * Send date/time ie date, hour, minute, and second. * Send date/time ie default: Libpri will send date and hhmm only when in NT PTMP mode to support ISDN phones. (closes issue #19221) Reported by: kenner JIRA SWP-3396 git-svn-id: http://svn.digium.com/svn/asterisk/trunk@319427 f38db490-d61c-443f-a65b-d21fe96a405b
2011-05-13Merged revisions 318783 via svnmerge from rmudgett1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r318783 | rmudgett | 2011-05-12 20:47:05 -0500 (Thu, 12 May 2011) | 14 lines PRI early media won't ring. And another way to pass early media. Don't indicate that there is inband information present, just assume that the B channel is connected. * Restore clearing the dialing flag Rx squelch unconditionally when a PROCEEDING message comes in. (closes issue #19268) Reported by: tbsky Patches: issue19268_v1.8.patch uploaded by rmudgett (license 664) Tested by: tbsky ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@318784 f38db490-d61c-443f-a65b-d21fe96a405b
2011-05-10Merged revisions 318499 via svnmerge from rmudgett1-0/+5
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r318499 | rmudgett | 2011-05-10 18:41:08 -0500 (Tue, 10 May 2011) | 15 lines Unable to pickup DAHDI/PRI call because call state is reported as DIALING. The channel state is not updated to RINGING when an ALERTING message is received. Regression caused when sig_pri.c (also sig_ss7.c) extracted from chan_dahdi.c. * Added missing channel state update to RINGING when the AST_CONTROL_RINGING frame is queued for ISDN and SS7. (closes issue #19257) Reported by: alecdavis Patches: issue19257_v1.8_v2.patch uploaded by rmudgett (license 664) Tested by: alecdavis, rmudgett ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@318500 f38db490-d61c-443f-a65b-d21fe96a405b
2011-05-09Merged revisions 318231 via svnmerge from rmudgett1-5/+13
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r318231 | rmudgett | 2011-05-09 11:57:18 -0500 (Mon, 09 May 2011) | 41 lines Don't get early media for ISDN on outgoing calls. It looks to be a long-standing misinterpretation of the progress indicator ie values: 1 - Call is not end-to-end ISDN; further call progress information may be available in-band. 8 - In-band information or an appropriate pattern is now available. Only value 8 is handled by chan_dahdi/sig_pri. The 1 value is not handled as early media probably because the meaning of the second half of it's description was overlooked. * Test to see if either PRI_PROG_CALL_NOT_E2E_ISDN(1) or PRI_PROG_INBAND_AVAILABLE(8) bits are set to open the media path. (closes issue #18868) Reported by: isrl Patches: issue18868_19246_v1.8.patch uploaded by rmudgett (license 664) Tested by: satish_lx .......... No inband progress on PRI_EVENT_RINGING even if inband flag set. My ISDN-PRI provider sends an ALERTING with "Inband information or appropriate pattern now available", but Asterisk only generates and passes the RING to the SIP extension, not the inband message. Unfortunately, the inband message is not a ringback tone but a prompt that says the number is not in service. The SIP extension then hears two rings and the call is hungup which confuses the caller. * Post an AST_CONTROL_PROGRESS as well as opening the media path if inband audio is indicated with an ALERTING message. (closes issue #19246) Reported by: cristiandimache Patches: issue19246_v1.8.patch uploaded by rmudgett (license 664) Tested by: cristiandimache ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@318232 f38db490-d61c-443f-a65b-d21fe96a405b
2011-05-03Merged revisions 316224 via svnmerge from rmudgett1-2/+0
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r316224 | rmudgett | 2011-05-03 14:18:30 -0500 (Tue, 03 May 2011) | 16 lines The dahdi_hangup() call does not clean up the channel fully. After dahdi_hangup() has supposedly hungup an ISDN channel there is still traffic on the S0-bus because the channel was not cleaned up fully. Shuffled the hangup code to include some missing cleanup. Also fixed some code formatting in the area. I think the primary missing clean up code was the call to tone_zone_play_tone() to turn off any active tones on the channel. (closes issue #19188) Reported by: jg1234 Patches: issue19188_v1.8.patch uploaded by rmudgett (license 664) Tested by: jg1234 ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@316240 f38db490-d61c-443f-a65b-d21fe96a405b
2011-04-21Implement AMI action PRIShowSpans.rmudgett1-0/+46
PRIShowSpans works like the AMI action DAHDIShowChannels but for PRI spans. It is similar to the CLI command "pri show spans". (closes issue #15980) Reported by: dwery git-svn-id: http://svn.digium.com/svn/asterisk/trunk@314735 f38db490-d61c-443f-a65b-d21fe96a405b
2011-04-21Simplify sig_pri.c:build_status().rmudgett1-12/+4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@314734 f38db490-d61c-443f-a65b-d21fe96a405b
2011-04-18Problems with ISDN MWI to phones.rmudgett1-16/+74
The "controlling user number" is always the number of the voice mail box which is identical with the subscriber number itself. This number which is listed in the ISDN phone MWI menu cannot be called back to contact the voice mail box. The controlling user number should be made configurable. JIRA ABE-2738 JIRA SWP-2846 git-svn-id: http://svn.digium.com/svn/asterisk/trunk@314116 f38db490-d61c-443f-a65b-d21fe96a405b
2011-04-08Add private lock deadlock avoidance callback to PRI and SS7.rmudgett1-2/+12
Factor out the equivalent function for analog. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@313100 f38db490-d61c-443f-a65b-d21fe96a405b
2011-04-07Merged revisions 313001 via svnmerge from alecdavis1-5/+9
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r313001 | alecdavis | 2011-04-07 22:19:31 +1200 (Thu, 07 Apr 2011) | 13 lines Fix ISDN calling subaddr User Specified Odd/Even Flag Calculation of the Odd/Even flag was wrong. Implement correct algo, and set odd/even=0 if data would be truncated. Only allow automatic calculation of the O/E flag, don't let dialplan influence. (closes issue #19062) Reported by: festr Patches: bug19062.diff2.txt uploaded by alecdavis (license 585) Tested by: festr, alecdavis, rmudgett ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@313005 f38db490-d61c-443f-a65b-d21fe96a405b
2011-04-05Merged revisions 312949 via svnmerge from rmudgett1-4/+8
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r312949 | rmudgett | 2011-04-05 13:45:24 -0500 (Tue, 05 Apr 2011) | 6 lines Crash if ISDN span layer 1 is down on initial load. Regression from -r312575 B channel shifting during negotiation. * Also combine updating the alarm flag with clearing the resetting flag. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@312950 f38db490-d61c-443f-a65b-d21fe96a405b
2011-04-04Remove the channel parameter from sig_pri_handle_subcmds().rmudgett1-56/+45
It was only used in a debug message and may not be correct anyway. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@312716 f38db490-d61c-443f-a65b-d21fe96a405b
2011-04-04Merged revisions 312575 via svnmerge from rmudgett1-977/+1167
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r312575 | rmudgett | 2011-04-04 11:10:50 -0500 (Mon, 04 Apr 2011) | 52 lines Merged revisions 312574 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r312574 | rmudgett | 2011-04-04 11:00:02 -0500 (Mon, 04 Apr 2011) | 45 lines Merged revisions 312573 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r312573 | rmudgett | 2011-04-04 10:49:30 -0500 (Mon, 04 Apr 2011) | 38 lines Issues with ISDN calls changing B channels during call negotiations. The handling of the PROCEEDING message was not using the correct call structure if the B channel was changed. (The same for PROGRESS.) The call was also not hungup if the new B channel is not provisioned or is busy. * Made all call connection messages (SETUP_ACKNOWLEDGE, PROCEEDING, PROGRESS, ALERTING, CONNECT, CONNECT_ACKNOWLEDGE) ensure that they are using the correct structure and B channel. If there is any problem with the operations then the call is now hungup with an appropriate cause code. * Made miscellaneous messages (INFORMATION, FACILITY, NOTIFY) find the correct structure by looking for the call and not using the channel ID. NOTIFY is an exception with versions of libpri before v1.4.11 because a call pointer is not available for Asterisk to use. * Made all hangup messages (DISCONNECT, RELEASE, RELEASE_COMPLETE) find the correct structure by looking for the call and not using the channel ID. (closes issue #18313) Reported by: destiny6628 Tested by: rmudgett JIRA SWP-2620 (closes issue #18231) Reported by: destiny6628 Tested by: rmudgett JIRA SWP-2924 (closes issue #18488) Reported by: jpokorny JIRA SWP-2929 JIRA AST-437 (The issues fixed here are most likely causing this JIRA issue.) JIRA DAHDI-406 JIRA LIBPRI-33 (Stuck resetting flag likely fixed) ........ ................ ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@312579 f38db490-d61c-443f-a65b-d21fe96a405b
2011-03-18Merged revisions 311297 via svnmerge from rmudgett1-14/+28
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r311297 | rmudgett | 2011-03-17 21:59:05 -0500 (Thu, 17 Mar 2011) | 12 lines Race condition when ISDN CallRerouting/CallDeflection invoked. The queued AST_CONTROL_BUSY could sometimes be processed before the call_forward dial string is recognized. * Moved setting the call_forwarding dial string after sending a response to the initiator and just queue an empty frame to wake up the media thread instead of an AST_CONTROL_BUSY. * Added check for empty rerouting/deflection number and respond with an error. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@311298 f38db490-d61c-443f-a65b-d21fe96a405b
2011-03-08Merged revisions 309994 via svnmerge from rmudgett1-35/+35
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r309994 | rmudgett | 2011-03-08 10:37:02 -0600 (Tue, 08 Mar 2011) | 1 line Make pri parameter description consistent. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@309996 f38db490-d61c-443f-a65b-d21fe96a405b
2011-03-04Merged revisions 309445 via svnmerge from rmudgett1-0/+22
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r309445 | rmudgett | 2011-03-04 09:22:04 -0600 (Fri, 04 Mar 2011) | 46 lines Get real channel of a DAHDI call. Starting with Asterisk v1.8, the DAHDI channel name format was changed for ISDN calls to: DAHDI/i<span>/<number>[:<subaddress>]-<sequence-number> There were several reasons that the channel name had to change. 1) Call completion requires a device state for ISDN phones. The generic device state uses the channel name. 2) Calls do not necessarily have B channels. Calls placed on hold by an ISDN phone do not have B channels. 3) The B channel a call initially requests may not be the B channel the call ultimately uses. Changes to the internal implementation of the Asterisk master channel list caused deadlock problems for chan_dahdi if it needed to change the channel name. Chan_dahdi no longer changes the channel name. 4) DTMF attended transfers now work with ISDN phones because the channel name is "dialable" like the chan_sip channel names. For various reasons, some people need to know which B channel a DAHDI call is using. * Added CHANNEL(dahdi_span), CHANNEL(dahdi_channel), and CHANNEL(dahdi_type) so the dialplan can determine the B channel currently in use by the channel. Use CHANNEL(no_media_path) to determine if the channel even has a B channel. * Added AMI event DAHDIChannel to associate a DAHDI channel with an Asterisk channel so AMI applications can passively determine the B channel currently in use. Calls with "no-media" as the DAHDIChannel do not have an associated B channel. No-media calls are either on hold or call-waiting. (closes issue #17683) Reported by: mrwho Tested by: rmudgett (closes issue #18603) Reported by: arjankroon Patches: issue17683_18603_v1.8_v2.patch uploaded by rmudgett (license 664) Tested by: stever28, rmudgett ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@309446 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-23Merged revisions 308622 via svnmerge from rmudgett1-2/+6
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r308622 | rmudgett | 2011-02-23 17:38:04 -0600 (Wed, 23 Feb 2011) | 9 lines sig_pri_new_ast_channel() should return NULL when new_ast_channel() fails. (closes issue #18874) Reported by: cmaj Patches: patch-sig_pri-crash-possible-null-channel-pointer.diff.txt uploaded by cmaj (license 830) JIRA SWP-3172 ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@308623 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-15Add CLI "pri show channels" command.rmudgett1-2/+70
List the current mapping of DAHDI B channels to Asterisk channel names and which calls are on hold or call-waiting. Calls on hold or call-waiting are not associated with any B channel. JIRA LIBPRI-27 JIRA SWP-2547 git-svn-id: http://svn.digium.com/svn/asterisk/trunk@307964 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-15Merged revisions 307879 via svnmerge from rmudgett1-10/+47
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r307879 | rmudgett | 2011-02-15 10:13:55 -0600 (Tue, 15 Feb 2011) | 37 lines No response sent for SIP CC subscribe/resubscribe request. Asterisk does not send a response if we try to subscribe for call completion after we have received a 180 Ringing. You can only subscribe for call completion when the call has been cleared. When we receive the 180 Ringing, for this call, its call-completion state is 'CC_AVAILABLE'. If we then send a subscribe message to Asterisk, it trys to change the call-completion state to 'CC_CALLER_REQUESTED'. Because this is an invalid state change, it just ignores the message. The only state Asterisk will accept our subscribe message is in the 'CC_CALLER_OFFERED' state. Asterisk will go into the 'CC_CALLER_OFFERED' when the SIP client clears the call by sending a CANCEL. Asterisk should always send a response. Even if its a negative one. The fix is to allow for the CCSS core to notify a CC agent that a failure has occurred when CC is requested. The "ack" callback is replaced with a "respond" callback. The "respond" callback has a parameter indicating either a successful response or a specific type of failure that may need to be communicated to the requester. (closes issue #18336) Reported by: GeorgeKonopacki Tested by: mmichelson, rmudgett JIRA SWP-2633 (closes issue #18337) Reported by: GeorgeKonopacki Tested by: mmichelson JIRA SWP-2634 ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@307883 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-07Pass a MCID request to the bridged channel.rmudgett1-1/+15
Pass a MCID request to the bridged channel so the bridged channel can send it to the network. The ability to send the MCID request on an ISDN span is enabled with the new chan_dahdi.conf mcid_send option. JIRA SWP-2845 JIRA ABE-2736 git-svn-id: http://svn.digium.com/svn/asterisk/trunk@306755 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-04Add ISDN display ie text handling options to chan_dahdi.conf.rmudgett1-0/+54
The display ie handling can be controlled independently in the send and receive directions with the following options: * Block display text data. * Use display text in SETUP/CONNECT messages for name. * Use display text for COLP name updates (FACILITY/NOTIFY as appropriate). * Pass arbitrary display text during a call. Sent in INFORMATION messages. Received from any message that the display text was not used as a name. If the display options are not set then the options default to legacy behavior. The arbitrary display text is exchanged between bridged channels using the AST_FRAME_TEXT frame type. To send display text from the dialplan use the SendText() application when the arbitrary display text option is enabled. JIRA SWP-2688 JIRA ABE-2693 git-svn-id: http://svn.digium.com/svn/asterisk/trunk@306396 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-04Replace ast_log(LOG_DEBUG, ...) with ast_debug()pabelanger1-13/+13
(closes issue #18556) Reported by: kkm Review: https://reviewboard.asterisk.org/r/1071/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@306258 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-01Merged revisions 305343 via svnmerge from rmudgett1-0/+2
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r305343 | rmudgett | 2011-01-31 18:01:09 -0600 (Mon, 31 Jan 2011) | 21 lines Merged revisions 305342 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r305342 | rmudgett | 2011-01-31 17:50:10 -0600 (Mon, 31 Jan 2011) | 14 lines Merged revisions 305341 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r305341 | rmudgett | 2011-01-31 17:45:58 -0600 (Mon, 31 Jan 2011) | 7 lines Obtain the pri lock for PRI queue counters. Need to obtain the pri lock when calling pri_dump_info_str() to avoid a reentrancy problem when calculating the Q.921 Q count statistic. JIRA AST-484 ........ ................ ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@305344 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-27Merged from revision 304341rmudgett1-0/+39
https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier .......... r304341 | rmudgett | 2011-01-26 16:38:39 -0600 (Wed, 26 Jan 2011) | 7 lines Add connected line chan_dahdi.conf pricpndialplan option. * Added from_channel value to prilocaldialplan option. JIRA ABE-2731 JIRA SWP-2842 .......... git-svn-id: http://svn.digium.com/svn/asterisk/trunk@304385 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-25Merged revisions 303771 via svnmerge from rmudgett1-54/+153
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r303771 | rmudgett | 2011-01-25 11:49:20 -0600 (Tue, 25 Jan 2011) | 54 lines 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: http://svn.digium.com/svn/asterisk/trunk@303772 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-14Merged revisions 301946 via svnmerge from rmudgett1-4/+3
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r301946 | rmudgett | 2011-01-14 15:09:57 -0600 (Fri, 14 Jan 2011) | 13 lines Deadlock between dahdi_request() and pri_dchannel() processing an incomming call. The sig_pri_new_ast_channel() is called with the channel private lock held when pri_dchannel() calls it and no channel private lock held when dahdi_request() calls it. The use of pri_grab() in sig_pri_new_ast_channel() could leave the channel private lock held when it returns if the lock was not held before calling it. Make sig_pri_new_ast_channel() just lock the PRI span lock instead of using pri_grab(). It is safe to do this because dahdi_request() does not have the channel private lock and the deadlock potential with the PRI span lock is only between pri_dchannel() and other threads. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@301947 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-05Merged revisions 300714 via svnmerge from rmudgett1-3/+55
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r300714 | rmudgett | 2011-01-05 14:54:21 -0600 (Wed, 05 Jan 2011) | 21 lines Merged revision 300711 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier .......... r300711 | rmudgett | 2011-01-05 13:43:55 -0600 (Wed, 05 Jan 2011) | 14 lines A call retrieved from hold may wind up with no audio. If the retrieved call is natively bridged then the call may not have any audio path. The following warning message is given: "Failed to add <dfd> to conference <chan>/<chan>: Invalid argument". * Open the media on a B channel when pri_fixup_principle() moves the call from a no_b_channel channel to a real channel. * Added lock protection while pri_fixup_principle() moves a call from one private structure to another. * Made some pri_fixup_principle() messages more meaningful. .......... ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@300716 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-04Optional HOLD/RETRIEVE signaling for PTMP TE when the bridge goes on and off ↵rmudgett1-58/+908
hold. Added the moh_signaling option to specify what to do when the channel's bridged peer puts the ISDN channel on and off of hold. Implemented as a FSM to control libpri ISDN signaling when the bridged peer places the channel on and off of hold with the AST_CONTROL_HOLD and AST_CONTROL_UNHOLD control frames. JIRA SWP-2687 JIRA ABE-2691 Review: https://reviewboard.asterisk.org/r/1063/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@300212 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-22Merged revisions 299405 via svnmerge from rmudgett1-6/+7
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r299405 | rmudgett | 2010-12-21 20:10:39 -0600 (Tue, 21 Dec 2010) | 17 lines Chan_dahdi sends an empty COLP on the bridged channel. Chan_dahdi always inserts a connected party IE when you call from one dahdi channel to another dahdi channel, even if no such information was received on the 2nd channel. This clears the display of many phones. * Removed leftover artifact from before the valid flag was added. * Updated all of the channel's caller id information with the new connected line information instead of just the string parts. (closes issue #18508) Reported by: wimpy Patches: issue18508_trunk.patch uploaded by rmudgett (license 664) Tested by: wimpy, rmudgett ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@299406 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-13Post AMI hold events on PRI spans when the remote party HOLD/RETRIEVEs the call.rmudgett1-9/+31
Part of JIRA SWP-2687/ABE-2691. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@298288 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-13Merged revisions 298195 via svnmerge from rmudgett1-0/+1
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r298195 | rmudgett | 2010-12-13 11:11:43 -0600 (Mon, 13 Dec 2010) | 33 lines Merged revisions 298194 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r298194 | rmudgett | 2010-12-13 11:04:41 -0600 (Mon, 13 Dec 2010) | 26 lines Merged revisions 298193 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r298193 | rmudgett | 2010-12-13 10:56:07 -0600 (Mon, 13 Dec 2010) | 19 lines Outgoing PRI/BRI calls cannot do DTMF triggered transfers. Outgoing PRI/BRI calls cannot do DTMF triggered transfers if a PROCEEDING message is not received. The debug output shows that the DTMF begin event is seen, but the DTMF end event is missing. When the DTMF begin happens, the call is muted so we now have one way audio (until a DTMF end event is somehow seen). * Made set the proceeding flag when the PRI_EVENT_ANSWER event is received. * Made absorb the DTMF begin and DTMF end events if we are overlap dialing and have not seen a PROCEEDING message. * Added a debug message when absorbing a DTMF event. JIRA SWP-2690 JIRA ABE-2697 ........ ................ ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@298201 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-12Merged revisions 294823 via svnmerge from rmudgett1-2/+8
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r294823 | rmudgett | 2010-11-11 20:45:22 -0600 (Thu, 11 Nov 2010) | 25 lines Merged revisions 294822 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r294822 | rmudgett | 2010-11-11 20:44:12 -0600 (Thu, 11 Nov 2010) | 18 lines Merged revisions 294821 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r294821 | rmudgett | 2010-11-11 20:41:13 -0600 (Thu, 11 Nov 2010) | 11 lines Asterisk is getting a "No D-channels available!" warning message every 4 seconds. Asterisk is just whining too much with this message: "No D-channels available! Using Primary channel XXX as D-channel anyway!". Filtered the message so it only comes out once if there is no D channel available without an intervening D channel available period. (closes issue #17270) Reported by: jmls ........ ................ ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@294824 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-09Merged revisions 294349 via svnmerge from rmudgett1-150/+15
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r294349 | rmudgett | 2010-11-09 10:55:32 -0600 (Tue, 09 Nov 2010) | 17 lines Analog lines do not transfer CONNECTED LINE or execute the interception macros. Add connected line update for sig_analog transfers and simplify the corresponding sig_pri and chan_misdn transfer code. Note that if you create a three-way call in sig_analog before transferring the call, the distinction of the caller/callee interception macros make little sense. The interception macro writer needs to be prepared for either caller/callee macro to be executed. The current implementation swaps which caller/callee interception macro is executed after a three-way call is created. Review: https://reviewboard.asterisk.org/r/996/ JIRA ABE-2589 JIRA SWP-2372 ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@294351 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-26Merged revisions 293081 via svnmerge from rmudgett1-2/+2
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r293081 | rmudgett | 2010-10-26 11:32:59 -0500 (Tue, 26 Oct 2010) | 1 line No need to define the struct if there are no users. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@293082 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-26Merged revisions 293046 via svnmerge from rmudgett1-12/+12
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r293046 | rmudgett | 2010-10-26 10:53:58 -0500 (Tue, 26 Oct 2010) | 4 lines Allow the DAHDI driver to compile, even with a sufficiently older version of libpri. Fixes our Bamboo builds. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@293047 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-25Merged revisions 292969 via svnmerge from tilghman1-4/+4
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r292969 | tilghman | 2010-10-25 16:15:19 -0500 (Mon, 25 Oct 2010) | 2 lines Several more defines that need to be altered for compiling against an older version of libpri ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@292970 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-25Merged revisions 292906 via svnmerge from tilghman1-10/+10
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r292906 | tilghman | 2010-10-25 14:28:35 -0500 (Mon, 25 Oct 2010) | 4 lines Allow the DAHDI driver to compile, even with a sufficiently older version of libpri. Fixes our Bamboo builds. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@292915 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-22Merged revisions 292704 via svnmerge from rmudgett1-69/+314
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r292704 | rmudgett | 2010-10-22 10:47:08 -0500 (Fri, 22 Oct 2010) | 19 lines Connected line is not updated when chan_dahdi/sig_pri or chan_misdn transfers a call. When a call is transfered by ECT or implicitly by disconnect in sig_pri or implicitly by disconnect in chan_misdn, the connected line information is not exchanged. The connected line interception macros also need to be executed if defined. The CALLER interception macro is executed for the held call. The CALLEE interception macro is executed for the active/ringing call. JIRA ABE-2589 JIRA SWP-2296 Patches: abe_2589_c3bier.patch uploaded by rmudgett (license 664) abe_2589_v1.8_v2.patch uploaded by rmudgett (license 664) Review: https://reviewboard.asterisk.org/r/958/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@292705 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-21Merged revisions 292489 via svnmerge from rmudgett1-0/+4
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r292489 | rmudgett | 2010-10-20 20:02:50 -0500 (Wed, 20 Oct 2010) | 7 lines Send CONNECT_ACKNOWLEDGE for CIS calls too. The originator of the Q.SIG call completion signaling link was not changed to the active state when the CONNECT message came in. The T309 processing would immediately kill the signaling link because it was not in the active state. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@292490 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-28Merged revisions 289057 via svnmerge from rmudgett1-7/+20
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r289057 | rmudgett | 2010-09-27 20:04:37 -0500 (Mon, 27 Sep 2010) | 5 lines Avoid deadlock processing incoming AOC-E messages. Deadlock avoidance for the owner channel was not done when processing incoming AOC-E messages. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@289058 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-10Merged revisions 286118 via svnmerge from rmudgett1-0/+16
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r286118 | rmudgett | 2010-09-10 15:55:37 -0500 (Fri, 10 Sep 2010) | 25 lines Merged revisions 286116 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r286116 | rmudgett | 2010-09-10 15:42:44 -0500 (Fri, 10 Sep 2010) | 18 lines Merged revisions 286113 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r286113 | rmudgett | 2010-09-10 15:33:16 -0500 (Fri, 10 Sep 2010) | 11 lines An outgoing call may not get hung up if a pre-connect incoming ISDN call is disconnected. If the ISDN link a pre-connect incoming call is using fails or is reset, the outgoing leg may not hang up or be delayed in hanging up. (Causes: PRI_CAUSE_NETWORK_OUT_OF_ORDER, PRI_CAUSE_DESTINATION_OUT_OF_ORDER, and PRI_CAUSE_NORMAL_TEMPORARY_FAILURE.) Just hang up the call if the incoming call leg hangs up before connecting for any reason. It makes no sense to send a BUSY or CONGESTION control frame to the outgoing call leg under these circumstances. ........ ................ ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@286119 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-02Merged revisions 284779-284780 via svnmerge from rmudgett1-25/+27
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r284779 | rmudgett | 2010-09-02 15:59:12 -0500 (Thu, 02 Sep 2010) | 8 lines Made output libpri event names if pri debugging is enabled when sig_pri processes them. * Simplified CLI "pri debug xx span xx" command code and removed redundant debugging enabled messages. * Made CLI "pri debug xx span xx" command only close the debugging log file if it was opened. ........ r284780 | rmudgett | 2010-09-02 16:02:54 -0500 (Thu, 02 Sep 2010) | 2 lines Simplified pri_dchannel() poll timeout duration code. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@284782 f38db490-d61c-443f-a65b-d21fe96a405b
2010-08-20Merged revisions 283050 via svnmerge from rmudgett1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r283050 | rmudgett | 2010-08-20 10:35:38 -0500 (Fri, 20 Aug 2010) | 36 lines Merged revisions 283049 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r283049 | rmudgett | 2010-08-20 10:31:03 -0500 (Fri, 20 Aug 2010) | 29 lines Merged revisions 283048 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r283048 | rmudgett | 2010-08-20 10:24:36 -0500 (Fri, 20 Aug 2010) | 22 lines Q931 - Sending PROGRESS after sending ALERTING is a protocol error The PRI layer in chan_dadhi will check if a PROGRESS message has already been sent, and not allow sending another (although that is technically allowed by the Q931 spec), however it does not protect against sending an ALERTING and then sending a PROGRESS message, which is a violation of the specification. Most switches don't seem to care too deeply about this, but some do, and will disconnect the call when receiving this invalid sequence. Protocol specification reference: T-REC-Q.931-199805-I page 223, "Figure A.5/Q.931 -- Overview protocol control (network side) point-point (sheet 3 of 8)" (closes issue #17874) Reported by: nic_bellamy Patches: asterisk-1.4-r282537_no-progress-after-alerting.patch uploaded by nic bellamy (license 299) asterisk-1.6.2-r282537_no-progress-after-alerting.patch uploaded by nic bellamy (license 299) asterisk-trunk-r282537_no-progress-after-alerting.patch uploaded by nic bellamy (license 299) ........ ................ ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@283051 f38db490-d61c-443f-a65b-d21fe96a405b
2010-08-18Merged revisions 282608 via svnmerge from tilghman1-1/+14
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r282608 | tilghman | 2010-08-18 02:49:04 -0500 (Wed, 18 Aug 2010) | 16 lines Merged revisions 282607 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r282607 | tilghman | 2010-08-18 02:43:14 -0500 (Wed, 18 Aug 2010) | 9 lines Don't warn on callerid when completely text, instead of numeric with localdialplan prefixes. (closes issue #16770) Reported by: jamicque Patches: 20100413__issue16770.diff.txt uploaded by tilghman (license 14) 20100811__issue16770.diff.txt uploaded by tilghman (license 14) Tested by: jamicque ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@282609 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-29Merged revisions 280519 via svnmerge from seanbright1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r280519 | seanbright | 2010-07-29 15:47:16 -0400 (Thu, 29 Jul 2010) | 7 lines Fix compilation error in chan_dahdi (strdupa -> ast_strdupa). (closes issue #17751) Reported by: b11d Patches: strdupa_oops.diff uploaded by malcolmd (license 924) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@280520 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-27Merged revisions 279916 via svnmerge from russell1-0/+13
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r279916 | russell | 2010-07-27 14:50:56 -0500 (Tue, 27 Jul 2010) | 12 lines Fix inband DTMF detection on outgoing ISDN calls. This is a regression from the sig_pri split from chan_dahdi. When a call is first initiated, the inband DTMF detector is not enabled if it's an outgoing ISDN call. However, it needs to be turned on once the media path starts up. This handling was put back in the open_media() callback of chan_dahdi. In sig_pri, open_media() calls were added to a few places where it was needed, including handling of PRI_EVENT_RINGING, PRI_EVENT_PROGRESS, and PRI_EVENT_PROCEEDING. Thanks to rmudgett for helping me with the patch! ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@279917 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-23Rename sig_pri_pri to sig_pri_span. More descriptive of concept.rmudgett1-50/+50
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@278942 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-20Reference correct struct member for unlikely event PRI_EVENT_CONFIG_ERR.rmudgett1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@278274 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-14Expand the caller ANI field to an ast_party_idrmudgett1-1/+6
Expand the ani field in ast_party_caller and ast_party_connected_line to an ast_party_id. This is an extension to the ast_callerid restructuring patch in review: https://reviewboard.asterisk.org/r/702/ Review: https://reviewboard.asterisk.org/r/744/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@276393 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-14ast_callerid restructuringrmudgett1-131/+267
The purpose of this patch is to eliminate struct ast_callerid since it has turned into a miscellaneous collection of various party information. Eliminate struct ast_callerid and replace it with the following struct organization: struct ast_party_name { char *str; int char_set; int presentation; unsigned char valid; }; struct ast_party_number { char *str; int plan; int presentation; unsigned char valid; }; struct ast_party_subaddress { char *str; int type; unsigned char odd_even_indicator; unsigned char valid; }; struct ast_party_id { struct ast_party_name name; struct ast_party_number number; struct ast_party_subaddress subaddress; char *tag; }; struct ast_party_dialed { struct { char *str; int plan; } number; struct ast_party_subaddress subaddress; int transit_network_select; }; struct ast_party_caller { struct ast_party_id id; char *ani; int ani2; }; The new organization adds some new information as well. * The party name and number now have their own presentation value that can be manipulated independently. ISDN supplies the presentation value for the name and number at different times with the possibility that they could be different. * The party name and number now have a valid flag. Before this change the name or number string could be empty if the presentation were restricted. Most channel drivers assume that the name or number is then simply not available instead of indicating that the name or number was restricted. * The party name now has a character set value. SIP and Q.SIG have the ability to indicate what character set a name string is using so it could be presented properly. * The dialed party now has a numbering plan value that could be useful to have available. The various channel drivers will need to be updated to support the new core features as needed. They have simply been converted to supply current functionality at this time. The following items of note were either corrected or enhanced: * The CONNECTEDLINE() and REDIRECTING() dialplan functions were consolidated into func_callerid.c to share party id handling code. * CALLERPRES() is now deprecated because the name and number have their own presentation values. * Fixed app_alarmreceiver.c write_metadata(). The workstring[] could contain garbage. It also can only contain the caller id number so using ast_callerid_parse() on it is silly. There was also a typo in the CALLERNAME if test. * Fixed app_rpt.c using ast_callerid_parse() on the channel's caller id number string. ast_callerid_parse() alters the given buffer which in this case is the channel's caller id number string. Then using ast_shrink_phone_number() could alter it even more. * Fixed caller ID name and number memory leak in chan_usbradio.c. * Fixed uninitialized char arrays cid_num[] and cid_name[] in sig_analog.c. * Protected access to a caller channel with lock in chan_sip.c. * Clarified intent of code in app_meetme.c sla_ring_station() and dial_trunk(). Also made save all caller ID data instead of just the name and number strings. * Simplified cdr.c set_one_cid(). It hand coded the ast_callerid_merge() function. * Corrected some weirdness with app_privacy.c's use of caller presentation. Review: https://reviewboard.asterisk.org/r/702/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@276347 f38db490-d61c-443f-a65b-d21fe96a405b