Commit Graph

6194 Commits

Author SHA1 Message Date
Kevin P. Fleming
85e57521ab Accept T.38 re-INVITE responses with invalid SDP versions.
This commit changes the 'incoming SDP version' check logic a bit more; when
'ignoresdpversion' is *not* set for a peer, if we initiate a re-INVITE to
switch to T.38, we'll always accept the peer's SDP response, even if they
don't properly increment the SDP version number as they should. If this situation
occurs, a warning message will be generated suggesting that the peer's
configuration be changed to include the 'ignoresdpversion' configuration option
(although ideally they'd fix their SIP implementation to be RFC compliant).

AST-221


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200689 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-15 20:42:38 +00:00
Kevin P. Fleming
4379249674 Convert a number of global module variables to 'static'.
These modules all contained variables that are module-global but not system-global,
but were not marked 'static'.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200587 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-15 17:06:34 +00:00
Kevin P. Fleming
78ee46f13f Some minor structure size improvements in sip_pvt and sip_peer.
Using the 'pahole' tool, it is now quite easy to see where structure fields
could be organized differently to keep the compiler from having to add
padding to satisfy alignment requirements. These changes reduced the sizes of
sip_pvt and sip_peer by a few bytes each (on 64-bit platforms), and also fixed
a spelling error in a field name.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-15 16:38:32 +00:00
Mark Michelson
d224f78dd5 Merged revisions 200513 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r200513 | mmichelson | 2009-06-15 10:21:46 -0500 (Mon, 15 Jun 2009) | 5 lines
  
  Add INFO to our allowed methods so that endpoints know they may send it to us.
  
  AST-223
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-15 15:22:11 +00:00
Moises Silva
b52abf3d21 added openr2 to menuselect-deps.in, recent commit in menuselect made me realize this was never done but was working anyways
also added support for skip category request feature of openr2 and updated chan_dahdi.conf.sample


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200477 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-14 06:13:48 +00:00
Mark Michelson
e1c03cbf1a Fix some bad locking stemming from trying to forward a call to a non-existent
extension from a queue.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200326 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-12 15:37:30 +00:00
Mark Michelson
616e85c95f Fix a crash due to a potentially NULL p->options.
Thanks to mnicholson for pointing it out.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-11 21:17:14 +00:00
Mark Michelson
28fe3938b7 Only try to use the invite_branch on outgoing INVITEs with auth credentials.
I have added a comment to the code to help ease understanding of the logic here
as well.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@199958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-10 20:15:48 +00:00
David Vossel
59d93c1e2d CLI NOTIFY sending wrong transport type.
SIP's cli NOTIFY command only used UDP rather than copying the transport type from the peer.

(closes issue #15283)
Reported by: jthurman
Patches:
      sip-notify-tcp-svn199728.patch uploaded by jthurman (license 614)
Tested by: jthurman, dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@199818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-09 20:47:57 +00:00
Mark Michelson
5965e276a7 Fix a deadlock that could occur when setting rtp stats on SIP calls.
(closes issue #15143)
Reported by: cristiandimache
Patches:
      15143.patch uploaded by mmichelson (license 60)
Tested by: cristiandimache



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@199588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-08 17:32:04 +00:00
Mark Michelson
d068c2f5e6 Correct "dahdi show channels" output when specifying a group.
Since a DAHDI channel may belong to multiple groups, we need to use
a bitwise and instead of equivalence to determine whether to display
the channel information.


(closes issue #15248)
Reported by: gentian
Patches:
      15248.patch uploaded by mmichelson (license 60)
Tested by: gentian



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@199227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-05 13:51:08 +00:00
David Vossel
e018606c7e Merged revisions 199138 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r199138 | dvossel | 2009-06-04 14:00:15 -0500 (Thu, 04 Jun 2009) | 3 lines
  
  Additional updates to AST-2009-001
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@199139 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-04 19:10:16 +00:00
David Vossel
61bc1854d5 fixes issue with channels not going down after transfer
Iax2 currently does not support native bridging if the timeoutms value is set.  We check for that in iax2_bridge, but then set timeoutms to 0 by default.  If the timeoutms is not provided it is set to -1. By setting timeoutms to 0 it is processed causing a bridging retry loop.

(closes issue #15216)
Reported by: oxymoron
Tested by: dvossel


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198824 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-02 17:55:35 +00:00
Joshua Colp
5fcf193d7b Correct documentation for the register line, specifically where the domain should be specified.
(closes issue #14367)
Reported by: Nick_Lewis


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198791 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-02 13:48:06 +00:00
Russell Bryant
a13d62aa49 Tell the IAX2 parser about more control frame types.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198729 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-01 21:03:18 +00:00
Mark Michelson
298d745fb4 Add the ability to execute connected line interception macros.
When connected line updates are received or generated in the middle
of an application call, it is now possible to execute a macro to
manipulate the connected line data. This way, phone numbers may be
manipulated to be more presentable to users, names may be changed 
for...whatever reason, or whatever else needs to be done may be.

Review: https://reviewboard.asterisk.org/r/256

AST-165



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-01 20:57:31 +00:00
Mark Michelson
0bde0b9ed2 Remove extra lock from local_indicate in connected line case.
Oh, and this fixes a deadlock I was seeing.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-01 14:42:57 +00:00
Mark Michelson
3166b6dac9 Add missing unlock of local pvt.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-01 14:19:49 +00:00
Mark Michelson
0550a878f4 Remove documentation for the 'exten' argument to the AGENT function.
Since AgentCallbackLogin has been removed, this should not be documented
any more.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198500 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-01 14:02:05 +00:00
Joshua Colp
6e1bd8aad7 Fix a bug where the Event and Content-Type headers were added twice to outgoing SIP NOTIFY messages.
(closes issue #15239)
Reported by: pj


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-01 13:31:27 +00:00
Joshua Colp
5c8626e315 When removing all packets from a dialog we also need to free the data if present.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198248 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-30 02:31:48 +00:00
Eliel C. Sardanons
453a2f7331 Remove not used code in the Agent channel.
This code was there because of the AgentCallbackLogin() application.
->loginchan[] member was only used by AgentCallbackLogin().
Agent where dumped to astdb if they where logged in using AgentCallbacklogin()
so they are not being dumper anymore.

Review: https://reviewboard.asterisk.org/r/267/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-30 01:04:57 +00:00
Jeff Peeler
aaf5eb105e New signaling module to handle analog operations in chan_dahdi
This branch splits all the analog signaling logic out of chan_dahdi.c into
sig_analog.c. Functionality in theory should not change at all. As noted
in the code, there is still some unused code remaining that will be cleaned
up in a later commit.

Review: https://reviewboard.asterisk.org/r/253/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-29 19:19:51 +00:00
Joshua Colp
9944bce43c Fix a bug where the default setting did not perform a remote bridge when it should have.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197996 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-29 17:51:06 +00:00
Mark Michelson
14d05f57d7 A few fixes to SIP with regards to connected line updates during transfers.
* Set the invitestate to INV_CALLING when we send a connected line reinvite.
This prevents us from potentially rapid-firing reinvites to a single peer.

* Use the astdb to store a peer's allowed methods. This prevents us from sending
an UPDATE during the interval between startup and the peer's first registration
if the peer does not support the UPDATE method.

* Handle Polycom's method of indicating allowed methods in REGISTER. Instead of
using an Allow header, they place the allowed methods in a methods= parameter
in the Contact header.

ABE-1873



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-29 15:48:04 +00:00
Sean Bright
f51bb019bb Update references to bugs.digium.com and reviewboard.digium.com to the new URLs.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197824 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28 21:50:27 +00:00
Mark Michelson
3eab939301 Treat 405 responses the same way we would a 501.
This makes sure that we mark a method as being unallowed if we
receive a 405 response so that we don't continue to try to 
send that same type of message.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28 20:17:24 +00:00
Mark Michelson
08f0ec4e8e Add missing lock to local_indicate function for connected line frames.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28 18:48:56 +00:00
Joshua Colp
e9e4efdcb6 Fix a bug where the trunkmtu setting was not set to the default value of 1240 on load but was on reload.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28 18:45:11 +00:00
Eliel C. Sardanons
a109652532 Merged revisions 197562 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r197562 | eliel | 2009-05-28 11:21:32 -0400 (Thu, 28 May 2009) | 13 lines
  
  Use the address we already know when reloading a peer with nat=yes.
  
  If we already have an address for a peer, and we are reloading the sip
  configuration, try to use that address to contact the peer, instead of
  getting it from the Contact.
  
  (closes issue #15194)
  Reported by: ibc
  Patches:
        sip.patch uploaded by eliel (license 64)
        Tested by: manwe
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28 16:01:48 +00:00
Tilghman Lesher
98ce0e5b6c Eliminate several needless checks and fix a few memory leaks
(closes issue #14833)
 Reported by: contactmayankjain
 Patches: 
       all_changes.patch uploaded by contactmayankjain (license 740)
       slightly modified by me


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28 15:35:23 +00:00
Joshua Colp
318929b75f Merged revisions 197466 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r197466 | file | 2009-05-28 10:44:58 -0300 (Thu, 28 May 2009) | 8 lines
  
  Fix a bug where the flag indicating the presence of rport would get overwritten by the nat setting.
  
  The presence of rport is now stored as a separate flag. Once the dialog is setup and authenticated
  (or it passes through unauthenticated) the proper nat flag is set.
  
  (closes issue #13823)
  Reported by: dimas
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28 13:47:45 +00:00
Olle Johansson
b6d95bef99 Adding some generic handling of error codes sent to us in replys to requests.
Previously they always set hangupcause 0, which is generally wrong. With this
change, we're setting some generic hangup causes. For 5xx errors, which indicate
some sort of problem with the remote server, we're now setting CONGESTION.

EDVX002


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-27 20:14:00 +00:00
Sean Bright
f6355ad755 Display an error message when chan_alsa fails to load due to a missing
or inaccessible configuration file.

Before this change, when chan_alsa failed to load due to a missing or
inaccessible configuration file, no message would be displayed.  With this
change, when chan_alsa fails to load due to a missing or inaccessible
configuration file, a message will be displayed.

(closes issue #14760)
Reported by: Nick_Lewis
Patches:
      chan_alsa.c-confload.patch uploaded by Nick (license 657)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-27 13:02:54 +00:00
Mark Michelson
83500e9b06 Remove some redundant or unnecessary connected line-related function calls.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196893 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-26 19:50:07 +00:00
Joshua Colp
d4efe15c09 Fix a bug where the sip unregister CLI command did not completely unregister the peer.
(closes issue #15118)
Reported by: alecdavis
Patches:
      chan_sip_unregister.diff2.txt uploaded by alecdavis (license 585)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196721 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-26 13:43:13 +00:00
Moises Silva
b93c1a2df5 set MFCR2_CATEGORY just when starting the pbx
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196456 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-23 04:27:47 +00:00
David Vossel
f50bb3bfa4 SIP set outbound transport type from Registration
In sip.conf the transport option allows for the configuration of what transport types (udp, tcp, and tls) a peer will accept, but only the first type listed was used for outbound connections.  This patch changes this.  Now the default transport type is only used until the peer registers.  When registration takes place the transport type is parsed out of the Contact header.  If the Contact header's transport type is equal to one that the peer supports, the peer's default transport type for outbound connections is set to match the Contact header's type.  If the Contact header's transport type is not present, then the peer's default transport type is set to match the one the peer registered with.  When a peer unregisters or the registration expires, the default transport type for that peer is reset.

(closes issue #12282)
Reported by: rjain
Patches:
      reg_patch_1.diff uploaded by dvossel (license 671)
Tested by: dvossel

(closes issue #14727)
Reported by: pj
Patches:
      reg_patch_3.diff uploaded by dvossel (license 671)
Tested by: pj, dvossel

Review: https://reviewboard.asterisk.org/r/249/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22 21:09:45 +00:00
Sean Bright
de6498b2d3 Don't crash if an RTP instance can't be created. This could occur when an
invalid bindaddr was specified in gtalk.conf.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196381 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22 20:01:11 +00:00
Eliel C. Sardanons
2c882626a0 Implement a new element in AstXML for AMI actions documentation.
A new xml element was created to manage the AMI actions documentation,
using AstXML.
To register a manager action using XML documentation it is now possible
using ast_manager_register_xml().
The CLI command 'manager show command' can be used to show the parsed
documentation.

Example manager xml documentation:
<manager name="ami action name" language="en_US">
    <synopsis>
        AMI action synopsis.
    </synopsis>
    <syntax>
        <xi:include xpointer="xpointer(...)" /> <-- for ActionID
        <parameter name="header1" required="true">
	    <para>Description</para>
	</parameter>
	...
    </syntax>
    <description>
        <para>AMI action description</para>
    </description>
    <see-also>
    	...
    </see-also>
</manager>



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22 17:52:35 +00:00
Mark Michelson
ee4f11cd24 s/it's/its/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22 16:50:31 +00:00
Russell Bryant
76e9c034be resolve compiler warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196246 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22 16:20:16 +00:00
Sean Bright
fcda626f3c Fix build under dev mode and remove some casts that are no longer necessary as
a result of the const-ify the world patch.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22 16:10:33 +00:00
Richard Mudgett
63e4b99e79 Make chan_misdn compile.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196187 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22 15:07:21 +00:00
Joshua Colp
678045fb43 Merged revisions 196116 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r196116 | file | 2009-05-22 10:54:17 -0300 (Fri, 22 May 2009) | 5 lines
  
  Fix a bug where using immediate with mISDN caused a cause code of 16 to get sent back instead of 1 if the 's' extension did not exist.
  
  (closes issue #12286)
  Reported by: lmamane
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22 13:56:47 +00:00
Kevin P. Fleming
e6b2e9a750 Const-ify the world (or at least a good part of it)
This patch adds 'const' tags to a number of Asterisk APIs where they are appropriate (where the API already demanded that the function argument not be modified, but the compiler was not informed of that fact). The list includes:

- CLI command handlers
- CLI command handler arguments
- AGI command handlers
- AGI command handler arguments
- Dialplan application handler arguments
- Speech engine API function arguments

In addition, various file-scope and function-scope constant arrays got 'const' and/or 'static' qualifiers where they were missing.

Review: https://reviewboard.asterisk.org/r/251/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-21 21:13:09 +00:00
David Vossel
88bda581ec Merged revisions 195991 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r195991 | dvossel | 2009-05-21 14:04:56 -0500 (Thu, 21 May 2009) | 14 lines
  
  Sign problem calculating timestamp for iax frame leads to no audio on the receiving peer.
  
  There are rare cases in which a frame's delivery timestamp is slightly less than the iax2_pvt's offset.  This causes the pvt's timestamp to be a small negative number, but since the timestamp value is unsigned it looks like a huge positive number.  This patch checks for this negative case and sets the ms to zero.  A similar check is already done right below this one in the 'else' statement.
  
  (closes issue #15032)
  Reported by: guillecabeza
  Patches:
        chan_iax2.c.patch_timestamp uploaded by guillecabeza (license 380)
  Tested by: guillecabeza
  
  (closes issue #14216)
  Reported by: Andrey Sofronov
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195995 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-21 19:11:49 +00:00
Mark Michelson
56903a7485 Get rid of some duplicated code and correct a connected line error.
When receiving a 200 OK response to an INVITE, it was possible to transmit two
connected line updates instead of a single one. Furthermore, the second did not
have the proper information present.

Now the two have been combined into a single update and the correct information
is presented.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-20 20:45:05 +00:00
Mark Michelson
7b4eeed257 Add basic support for handling connected line-related UPDATE requests.
SIP purists may want to look the other way...

When COLP/CONP support for SIP was committed, there was a condition under 
which Asterisk may transmit a SIP UPDATE in order to communicate the change 
in connected line information. The issue here is that while we could send a 
SIP UPDATE message, we were not prepared to receive such an UPDATE and would 
always responde with a 501 when we received an UPDATE.

The situation was a bit rough. We really want to be able to receive UPDATEs 
having to do with connected line changes, but the amount of effort involved 
in properly supporting RFC 3311 was staggering. This commit represents a 
compromise.

First, it was decided that it is important to only send a SIP UPDATE to 
an endpoint that is able to handle one. So, now we have added parsing of 
the Allow header into SIP. We store the allowed methods on SIP peers so 
that when we communicate with them, we already will know what we can and 
cannot send to them. We will parse the peer's allowed methods when he registers
with us. If the peer is not the type to register with us, but the qualify option 
is enabled, then we will use the response to the OPTIONS request we send 
the peer to determine the peer's allowed methods. When the peer's registration 
expires, or when qualify deems the peer to be unreachable, we clear the allowed 
methods from the peer.

For an actual call, we will copy the peer's allowed methods to the sip_pvt 
representing the call leg. If we are communicating with an endpoint which is 
not a peer, then we will just parse the Allow header from the first message 
we receive during the call and store the information in the sip_pvt.

If, during communication with a peer, we receive a 501 response, then we will 
make sure to save the fact that we cannot use that method when communicating 
with that peer.

Now, with all that infrastructure in place, the only actual place we use this 
information currently is when attempting to send a connected line change using 
an UPDATE request. If we cannot send the change immediately using an UPDATE, 
we will set the SIP_NEEDREINVITE flag so that we can send a REINVITE as soon 
as it is allowed.

The second part of the changes here is for Asterisk to accept UPDATE requests 
that have connected line changes. Since we are not fully supporting RFC 3311, 
Asterisk will NOT place the UPDATE method in Allow headers it sends. Instead, 
if you are communicating with what you know to be another Asterisk box, you may 
set the rpid_update parameter in sip.conf so that we will send UPDATEs to that 
Asterisk box. When we send a connected line update, we set a custom header 
called "X-Asterisk-rpid-update."

On the receiving end, if Asterisk receives an UPDATE that does not have the 
"X-Asterisk-rpid-update" header present, then Asterisk will respond with a 501 
since media-changing UPDATEs are not supported. We should never get such 
UPDATEs, since as was stated earlier, Asterisk does not put UPDATE in its Allow
header. If the custom header is present in the received UPDATE, though, then we 
will check the incoming request for connected line updates and queue the update
on the channel where the change occurred.

ABE-1840
ABE-1822



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195589 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-19 20:59:38 +00:00
Joshua Colp
99a1e0ce01 Merged revisions 195448 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r195448 | file | 2009-05-19 11:41:45 -0300 (Tue, 19 May 2009) | 7 lines
  
  Fix a bug where direct RTP setup would partially occur even when disabled if the calling channel was answered.
  
  (issue #13545)
  Reported by: davidw
  (issue #14244)
  Reported by: mbnwa
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-19 14:43:54 +00:00