diff options
author | Matthew Jordan <mjordan@digium.com> | 2011-09-09 16:28:23 +0000 |
---|---|---|
committer | Matthew Jordan <mjordan@digium.com> | 2011-09-09 16:28:23 +0000 |
commit | 8b5ba33fe0e69e8d31f27139daa03e2d05d0b6d2 (patch) | |
tree | 1469d7817b6e06619d6664985947a2f8112b6df6 /channels/chan_skinny.c | |
parent | 8017b65bb97c4226ca7a3c7c944a9811484e0305 (diff) |
Merged revisions 335078 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10
................
r335078 | mjordan | 2011-09-09 11:27:01 -0500 (Fri, 09 Sep 2011) | 29 lines
Merged revisions 335064 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r335064 | mjordan | 2011-09-09 11:09:09 -0500 (Fri, 09 Sep 2011) | 23 lines
Updated SIP 484 handling; added Incomplete control frame
When a SIP phone uses the dial application and receives a 484 Address
Incomplete response, if overlapped dialing is enabled for SIP, then
the 484 Address Incomplete is forwarded back to the SIP phone and the
HANGUPCAUSE channel variable is set to 28. Previously, the Incomplete
application dialplan logic was automatically triggered; now, explicit
dialplan usage of the application is required.
Additionally, this patch adds a new AST_CONTOL_FRAME type called
AST_CONTROL_INCOMPLETE. If a channel driver receives this control frame,
it is an indication that the dialplan expects more digits back from the
device. If the device supports overlap dialing it should attempt to
notify the device that the dialplan is waiting for more digits; otherwise,
it can handle the frame in a manner appropriate to the channel driver.
(closes issue ASTERISK-17288)
Reported by: Mikael Carlsson
Tested by: Matthew Jordan
Review: https://reviewboard.asterisk.org/r/1416/
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_skinny.c')
-rw-r--r-- | channels/chan_skinny.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index dad151ea1..523d7ffdf 100644 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -4640,6 +4640,8 @@ static char *control2str(int ind) { return "CC Not Possible"; case AST_CONTROL_SRCCHANGE: return "Media Source Change"; + case AST_CONTROL_INCOMPLETE: + return "Incomplete"; case -1: return "Stop tone"; default: @@ -4743,6 +4745,8 @@ static int skinny_indicate(struct ast_channel *ast, int ind, const void *data, s case AST_CONTROL_BUSY: setsubstate(sub, SUBSTATE_BUSY); return (d->earlyrtp ? -1 : 0); /* Tell asterisk to provide inband signalling if rtp started */ + case AST_CONTROL_INCOMPLETE: + /* Support for incomplete not supported for chan_skinny; treat as congestion */ case AST_CONTROL_CONGESTION: setsubstate(sub, SUBSTATE_CONGESTION); return (d->earlyrtp ? -1 : 0); /* Tell asterisk to provide inband signalling if rtp started */ |