aboutsummaryrefslogtreecommitdiffstats
path: root/channels
AgeCommit message (Collapse)AuthorFilesLines
2009-05-12Set the invitestate to INV_CANCELLED only if we are actually sending a SIP ↵mmichelson1-1/+1
CANCEL. The problem was that the hangup code was setting the invitestate too early. The result of this was that we would always send a CANCEL request, even if it was not an appropriate time to do so (e.g. we have not yet received a provisional response for our INVITE). Note that this same fix had been applied to trunk and the 1.6.X branches starting with revision 155467. This is why you will see this revision being blocked from those places. AST-216 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@193880 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-11Sent wrong message to clear a call we started if the other end has not ↵rmudgett1-2/+2
responed yet. In the state MISDN_CALLING (i.e. SETUP was sent but no answer has arrived yet), it is not allowed to clear the call with RELEASE_COMPLETE. It must be cleared with DISCONNECT. A RELEASE_COMPLETE is only allowed as an answer to a SETUP. (See Q.931 ch. 5.3.2, 5.3.2.a, 5.3.2.b) Patches: chan-misdn-ccstate7.patch uploaded by customer. JIRA ABE-1862 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@193613 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-08"misdn show config" segfaults asterisk, if no MSN lists dvossel1-1/+3
(closes issue #14976) Reported by: alecdavis Patches: misdn_config.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis, FabienToune git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@193262 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-07Give a more helpful message when an incoming call's dialed extension does ↵rmudgett1-8/+14
not match. Added the dialed extension and context to the chan_misdn messages warning that the dialed number cannot be matched in the dialplan. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@193050 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-07Eliminate repetition of fullcontact during reconstruction.tilghman1-0/+10
If the fullcontact field appears in both the sippeers and the sipregs table, then during reconstruction of the field, it will otherwise be doubled. (closes issue #14754) Reported by: Alexei Gradinari Patches: 20090506__bug14754.diff.txt uploaded by tilghman (license 14) Tested by: lmadsen git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@192932 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-06Update some old logic to stop both begin and end DTMF frames from reaching ↵file1-2/+4
the core if rfc2833 is not enabled. (closes issue #15036) Reported by: dimas Patches: v1-15036.patch uploaded by dimas (license 88) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@192633 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-04global mohinterpret setting is ignoreddvossel1-0/+5
mohinterpret and mohsuggest global variables were not copied over during build_users and build_peers. (closes issue #14728) Reported by: dimas Patches: v1-14728.patch uploaded by dimas (license 88) Tested by: dimas, dvossel git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@192213 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-01SIP Response 410 maps to cause code 22 (or 23), not 1.tilghman1-1/+1
(closes issue #14993) Reported by: BigJimmy Patches: causepatch uploaded by BigJimmy (license 371) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@191559 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-29Allow H.323 to compile with FDLEAK checking enabled.tilghman2-1/+7
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@191220 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-23Remove a bogus ast_channel_unlock().russell1-1/+0
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@190356 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-23Fix a bug in chan_local glare hangup detection.file1-3/+0
If both sides of a Local channel were hung up at around the same time it was possible for one thread to destroy the local private structure and have the other thread immediately try to remove the already freed structure from the local channel list. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@190286 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-22Make chan_h323 respect packetization settingsjpeeler3-19/+29
Previously, packetization settings were ignored and now they are not. A new config option 'autoframing' has been added to mirror the way chan_sip handles it. Turning on the autoframing option (available both as a global option or per peer) overrides the local settings with the remote packetization settings. Testing was performed with varying packetization levels with the following codecs: ulaw, alaw, gsm, and g729. (closes issue #12415) Reported by: pj Patches: 2009012200_h323packetization.diff.txt uploaded by mvanbaak (license 7), modified by me git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@189991 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-20Clean up problem with manager implementation of mmap where it was not ↵dbailey1-1/+1
testing against MAP_FAILED response. Got rid of shadowed variable used in processign the mmap results. Change test of mmap results to compare against MAP_FAILED git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@189391 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-18Fixed autologoff in agents.conf not working when agent logs in via ↵dvossel1-52/+63
AgentLogin app An agent logs in by calling an extension that calls the AgentLogin app. In agents.conf ackcall=always is set, so when they get a call they have the choice to either acknowledge it or ignore it. autologoff=10 is set as well, so if the agent ignores the call over 10sec one may assume that the agent should be logged out (and in this case hungup on as well), but this was not happening. (closes issue #14091) Reported by: evandro Patches: autologoff.diff uploaded by dvossel (license 671) Review: http://reviewboard.digium.com/r/225/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@189203 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-17Modifed/added some debug messages.rmudgett1-2/+7
JIRA ABE-1835 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@189134 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-17Fix a bug where a value used to create the channel name was bogus.file1-1/+1
This commit fixes the scenario where an incoming call is authenticated using a peer entry. Previously the channel name was created using either the username setting from the sip.conf entry or the IP address that the call came from. Now the channel name will be created using the peer name itself. This commit will not change the way the channel name is generated for users or friends. (closes issue #14256) Reported by: Nick_Lewis Patches: chan_sip.c-chname.patch uploaded by Nick (license 657) Tested by: Nick_Lewis, file git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@188946 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-17Fix a situation where the DAHDI channel private structure lock was not ↵file1-0/+1
unlocked when it should have been. (issue AST-210) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@188937 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-16Only update realtime, if global option rtupdate != falsetilghman1-3/+7
(closes issue #14885) Reported by: deepesh Patches: 20090413__bug14885.diff.txt uploaded by tilghman (license 14) Tested by: deepesh git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@188835 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-16Only disable mISDN DSP if Asterisk DSP is enabled. Leave jitter setting alone.rmudgett1-1/+0
JIRA ABE-1835 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@188833 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-15National prefix inserted even when caller ID not availabledvossel1-0/+7
When the caller ID is restricted, the expected behavior is for the caller id to be blank. In chan_dahdi, the national prefix is placed onto the callers number even if its restricted (empty) causing the caller id to be the national prefix rather than blank. (closes issue #13207) Reported by: shawkris Patches: national_prefix.diff uploaded by dvossel (license 671) Review: http://reviewboard.digium.com/r/220/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@188646 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-10Fix module embedding for chan_h323.jpeeler1-0/+2
Include libchanh323.a in the modules.link file so that all the symbols can be resolved at link time. (closes issue #11966) Reported by: dome git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@187962 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-10Support "signaling" in addition to "signalling".russell1-2/+2
The sample configuration file has references to both spellings. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@187865 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-09Handle a SIP race condition (reinvite before an ACK) properly.mmichelson1-7/+20
RFC 5047 explains the proper course of action to take if a reINVITE is received before the ACK from a previous invite transaction. What we are to do is to treat the reINVITE as if it were both an ACK and a reINVITE and process it normally. Later, when we receive the ACK we had been expecting, we will ignore it since its CSeq is less than the current iseqno of the sip_pvt representing this dialog. (closes issue #13849) Reported by: klaus3000 Patches: 13849_v2.patch uploaded by mmichelson (license 60) Tested by: mmichelson, klaus3000 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@187484 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-09Permit zero-length text messages in SIP.tilghman1-1/+3
(Related to an issue posted to the -users list, subject "AEL2, BASE64_DECODE and hexadecimal") git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@187362 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-03Fix a bug where DAHDI/Zaptel channels would not properly switch formats when ↵kpfleming1-1/+1
requested Don't offer AST_FORMAT_SLINEAR on DAHDI/Zaptel channels... while it could provide a slight performance benefit, the translation core in Asterisk has some flaws when a channel driver offers multiple raw formats. this fix is much simpler than fixing the translation core to solve that issue (although that will be done later). git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@186458 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-02ensure that the buffer passed to DAHDI_SET_BUFINFO is fully initializedkpfleming1-0/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@186081 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-02Merged revisions 186056 via svnmerge from tilghman1-8/+102
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r186056 | tilghman | 2009-04-02 12:02:18 -0500 (Thu, 02 Apr 2009) | 2 lines Fix for AST-2009-003 ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@186059 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-02Avoid multiple warning messages in SIP, due to this column not existingtilghman1-4/+9
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@186057 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-02the DAHDI_GETCONF, DAHDI_SETCONF and DAHDI_GET_PARAMS ioctls were recently ↵kpfleming1-11/+19
corrected to show that they do, in fact, read data from userspace as part of their work. due to this fix, valgrind now reports a number of cases where chan_dahdi passed an uninitialized (or partially) buffer to these ioctls, which could lead to unexpected behavior. this patch corrects chan_dahdi to ensure that buffers passed to these ioctls are always fully initialized. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@185952 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-01Fixes issue with dropped calles due to re-Invite glare and re-Invites never ↵dvossel1-9/+27
executing after a 491 Acknowledgement for 491 responses were never being processed because it didn't match our pending invite's seqno. Since the ACK was never processed, the 491 frame would continue to be retransmitted until eventually the call was dropped due to max retries. Now during a pending invite, if we receive another invite, we send an 491 and hold on to that glare invite's seqno in the "glareinvite" variable for that sip_pvt struct. When ACK's are received, we first check to see if it is in response to our pending invite, if not we check to see if it is in response to a glare invite. In this case, it is in response to the glare invite and must be dealt with or the call is dropped. I've changed the wait time for resending the re-Invite after receving a 491 response to comply with RFC 3261. Before this patch the scheduled re-Invite would only change a flag indicating that the re-Invite should be sent out, now it actually sends it out as well. (closes issue #12013) Reported by: alx Review: http://reviewboard.digium.com/r/213/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@185845 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-31Use AST_SCHED_DEL_SPINLOCK instead of manually using the logic.mmichelson1-3/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@185531 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-31Fix incorrect parsing in chan_gtalk when xmpp contains extra whitespacesdbrooks1-7/+7
To drill into the xmpp to find the capabilities between channels, chan_gtalk calls iks_child() and iks_next(). iks_child() and iks_next() are functions in the iksemel xml parsing library that traverse xml nodes. The bug here is that both iks_child() and iks_next() will return the next iks_struct node *regardless* of type. chan_gtalk expects the next node to be of type IKS_TAG, which in most cases, it is, but in this case (a call being made from the Empathy IM client), there exists iks_struct nodes which are not IKS_TAG data (they are extraneous whitespaces), and chan_gtalk doesn't handle that case, so capabilities don't match, and a call cannot be made. iks_first_tag() and iks_next_tag(), on the other hand, will not return the very next iks_struct, but will check to see if the next iks_struct is of type IKS_TAG. If it isn't, it will be skipped, and the next struct of type IKS_TAG it finds will be returned. This assures that chan_gtalk will find the iks_struct it is looking for. This fix simply changes all calls to iks_child() and iks_next() to become calls to iks_first_tag() and iks_next_tag(), which resolves the capability matching. The following is a payload listing from Empathy, which, due to the extraneous whitespace, will not be parsed correctly by iksemel: <iq from='dbrooksjab@235-22-24-10/Telepathy' to='astjab@235-22-24-10/asterisk' type='set' id='542757715704'> <session xmlns='http://www.google.com/session' initiator='dbrooksjab@235-22-24-10/Telepathy' type='initiate' id='1837267342'> <description xmlns='http://www.google.com/session/phone'> <payload-type clockrate='16000' name='speex' id='96'/> <payload-type clockrate='8000' name='PCMA' id='8'/> <payload-type clockrate='8000' name='PCMU' id='0'/> <payload-type clockrate='90000' name='MPA' id='97'/> <payload-type clockrate='16000' name='SIREN' id='98'/> <payload-type clockrate='8000' name='telephone-event' id='99'/> </description> </session> </iq> git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@185362 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-30Update the channel allocation method documentation.rmudgett1-4/+5
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@185121 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-30Make chan_misdn BRI TE side normally defer channel selection to the NT side.rmudgett1-1/+1
Channel allocation collisions are not handled by chan_misdn very well. This patch simply avoids the problem for BRI only. For PRI, allocation collisions are still possible but less likely since there are simply more channels available and each end could use a different allocation strategy. misdn.conf options available: te_choose_channel - Use to force the TE side to allocate channels. method - Specify the channel allocation strategy. (closes issue #13488) Reported by: Christian_Pinedo Patches: isdn_lib.patch.txt uploaded by crich Tested by: crich, siepkes, festr git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@185120 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-30Improve our handling of T38 in the initial INVITE from a device.file1-312/+229
We now answer with matching media streams to what is requested. If an INVITE is received with both a T38 and RTP media stream this means we answer with both. For any outgoing calls created as a result of this inbound one no T38 is requested in the initial INVITE. Instead if we start receiving udptl packets we trigger a reinvite on the outbound side. (closes issue #12437) Reported by: marsosa Tested by: pinga-fogo, okrief, file, afu Review: http://reviewboard.digium.com/r/208/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@184947 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-27Fix an issue where nat=yes would not always take effect for the RTP session ↵file1-1/+3
on outgoing calls. If calls were placed using an IP address or hostname the global nat setting was copied over but was not set on the RTP session itself. This caused the RTP stack to not perform symmetric RTP actions. (closes issue #14546) Reported by: acunningham git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@184565 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-20Fix a crash in IAX2 registration handling found during load testing with ↵russell1-5/+10
dvossel. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@183559 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-19Reordering, to change prior to unlockingtilghman1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@183342 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-19Delay signalling progress until a PRI channel really signals progress.tilghman1-0/+9
(closes issue #13034) Reported by: klaus3000 Patches: 20090316__bug13034.diff.txt uploaded by tilghman (license 14) patch_trunk_183progress_klaus3000.txt uploaded by klaus3000 (license 65) Tested by: klaus3000 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@183319 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-19Fix an issue where cancelled outgoing SIP calls would erroneously report the ↵mmichelson1-5/+0
device as "in use." A user was having an issue where if an outgoing SIP call was canceled, the SIP device would remain in use if we had not received any response to the initial INVITE we sent out. The SIP device would remain in use until the autocongestion timer was exhausted. I tracked down the cause of this to be the section of code I am removing here. I asked several people what the purpose of this code was meant to be, but no one could give me any sort of answer as to why this was here. The person who was having this issue has been using this patch for several months and it has stopped the problems they have had. AST-196 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@183115 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-18Allow H.323 Plus library to be used in addition to the OpenH323 libraryjpeeler6-5/+96
Chan_h323 can now be compiled against both the previously supported versions of OpenH323 as well as the current H.323 Plus (version 1.20.2). The configure script has been modified to look in the default install location of h323 to hopefully help avoid using the environment variables OPENH323DIR and PWLIBDIR. Also, the CLI command "h323 show version" has been added which indicates which version of h323 is in use. (closes issue 0011261) Reported by: vhatz Patches: asterisk-1.6.0.6-h323plus.patch uploaded by jthurman (license 614) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@182963 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-18fix another symbol namespace issue (reported by Andrew on asterisk-dev)kpfleming1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@182882 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-18Fix cases where the internal poll() was not being used when it needed to be.russell2-1/+2
We have seen a number of problems caused by poll() not working properly on Mac OSX. If you search around, you'll find a number of references to using select() instead of poll() to work around these issues. In Asterisk, we've had poll.c which implements poll() using select() internally. However, we were still getting reports of problems. vadim investigated a bit and realized that at least on his system, even though we were compiling in poll.o, the system poll() was still being used. So, the primary purpose of this patch is to ensure that we're using the internal poll() when we want it to be used. The changes are: 1) Remove logic for when internal poll should be used from the Makefile. Instead, put it in the configure script. The logic in the configure script is the same as it was in the Makefile. Ideally, we would have a functionality test for the problem, but that's not actually possible, since we would have to be able to run an application on the _target_ system to test poll() behavior. 2) Always include poll.o in the build, but it will be empty if AST_POLL_COMPAT is not defined. 3) Change uses of poll() throughout the source tree to ast_poll(). I feel that it is good practice to give the API call a new name when we are changing its behavior and not using the system version directly in all cases. So, normally, ast_poll() is just redefined to poll(). On systems where AST_POLL_COMPAT is defined, ast_poll() is redefined to ast_internal_poll(). 4) Change poll() in main/poll.c to be ast_internal_poll(). It's worth noting that any code that still uses poll() directly will work fine (if they worked fine before). So, for example, out of tree modules that are using poll() will not stop working or anything. However, for modules to work properly on Mac OSX, ast_poll() needs to be used. (closes issue #13404) Reported by: agalbraith Tested by: russell, vadim http://reviewboard.digium.com/r/198/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@182810 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-17Allow dahdichanname to work as advertised.qwell1-1/+1
(closes issue #14056) Reported by: dsedivec Patches: load_from_zapata_conf.patch uploaded by dsedivec (license 638) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@182652 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-16Randomize IAX2 encryption paddingdvossel1-2/+18
The 16-32 byte random padding at the beginning of an encrypted IAX2 frame turns out to not be all that random at all. This patch calls ast_random to fill the padding buffer with random data. The padding is randomized at the beginning of every encrypted call and for every encrypted retransmit frame. Review: http://reviewboard.digium.com/r/193/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@182281 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-16Fixup glare detection, to fix a memory leak of a local pvt structure.tilghman1-11/+16
(closes issue #14656) Reported by: caspy Patches: 20090313__bug14656__2.diff.txt uploaded by tilghman (license 14) Tested by: caspy git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@182208 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-12Properly send a 487 on an INVITE we have not responded to if we receive a BYE.mmichelson1-1/+1
If we receive an INVITE from an endpoint and then later receive a BYE from that same endpoint before we have sent a final response for the INVITE, then we need to respond to the INVITE with a 487. There was logic in the code prior to this commit which seemed to exist solely to handle this situation, but there was one condition in an if statement which was incorrect. The only way we would send a 487 was if the sip_pvt had no owner channel. This made no sense since we created the owner channel when we received the INVITE, meaning that the majority of the time we would never send the 487. The 487 being sent should not rely on whether we have created a channel. Its delivery should be dependent on the current state of the initial INVITE transaction. With this commit, that logic is now correctly in place. (closes issue #14149) Reported by: legranjl Patches: 14149.patch uploaded by mmichelson (license 60) Tested by: legranjl git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@181768 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-11encrypted IAX2 during packet loss causes decryption to fail on retransmitted ↵dvossel2-31/+72
frames If an iax channel is encrypted, and a retransmit frame is sent, that packet's iseqno is updated while it is encrypted. This causes the entire frame to be corrupted. When the corrupted frame is sent, the other side decrypts it and sends a VNAK back because the decrypted frame doesn't make any sense. When we get the VNAK, we look through the sent queue and send the same corrupted frame causing a loop. To fix this, encrypted frames requiring retransmission are decrypted, updated, then re-encrypted. Since key-rotation may change the key held by the pvt struct, the keys used for encryption/decryption are held within the iax_frame to guarantee they remain correct. (closes issue #14607) Reported by: stevenla Tested by: dvossel Review: http://reviewboard.digium.com/r/192/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@181340 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-11Fix issue where an attended transfer could not be completed under a rare ↵file1-1/+1
scenario. When completing an attended transfer chan_sip does a check to make sure the extension in the URI portion of the Refer-To header is a local valid extension. We don't actually need to check this since we know for sure the other channel is already up and talking to the extension. Some devices do not put the extension in the Refer-To header either, which can cause the extension check to fail. We now no longer do this check if it is an attended transfer. (closes issue #14628) Reported by: sverre Patches: 14628.diff uploaded by file (license 11) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@181328 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-11Fix a problem with inband DTMF detection on outgoing SIP calls when ↵file1-1/+1
dtmfmode=auto. When dtmfmode was set to auto the inband DTMF detector was not setup on outgoing SIP calls. This caused inband DTMF detection to fail. The inband DTMF detector is now setup for both dtmfmode inband and auto. (closes issue #13713) Reported by: makoto git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@181295 f38db490-d61c-443f-a65b-d21fe96a405b