Commit Graph

1740 Commits

Author SHA1 Message Date
Joshua Colp
daf94226d5 Fix locking issues under one legged replaces scenarios.
(closes issue #11420)
Reported by: irroot
Patches:
      chan_sip_oneleg.patch uploaded by irroot (license 52)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@90269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-30 14:43:15 +00:00
Olle Johansson
0c3ec937ce If we get a codec offer using a well-known payload type, but using it for another
codec that we don't know, Asterisk did not remove that codec from the list.

With this patch, we remove the codec from audio and video rtp objects and
deny it ever existed. Thanks to lasse for testing.

(closes issue #11376)
Reported by: lasse
Patches: 
      bug11376.txt uploaded by oej (license 306)
Tested by: lasse


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-27 15:23:17 +00:00
Olle Johansson
9d3be20a0d Don't send re-invites during pending INVITE transactions.
Patch by one47 - thanks!

Closes issue #9305


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-15 11:26:22 +00:00
Olle Johansson
fc49ddab3a Improve support for multipart messages. Code by gasparz, changes
by me (mostly formatting). Thanks, gasparz!

Closes issue #10947


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89280 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-15 11:15:09 +00:00
Tilghman Lesher
4332b72082 If we set a value for qualify, we should actually pay attention to it, instead of overriding the value
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89246 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-13 17:34:11 +00:00
Tilghman Lesher
1a052e0498 Fix two cases of memory corruption caused by background threads.
Reported by: atis
Patch by: tilghman
Fixes issue #10923


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 17:29:17 +00:00
Mark Michelson
3b75ff9010 Rework of the commit I made yesterday to use the already built-in
ast_uri_decode function as opposed to my home-rolled one. Also added
comments.

Thanks to oej for pointing me in the right direction



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89119 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 21:00:08 +00:00
Joshua Colp
3aea241b63 Do not add a sip: to the beginning of the To URI unless needed.
(closes issue #10756)
Reported by: goestelecom


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 02:26:48 +00:00
Joshua Colp
0f1ef85f9a Improve the devicestate logic for multiple devices. If any are available then the extension is considered available.
(closes issue #10164)
Reported by: nic_bellamy
Patches:
      sip-hinting-svn-branch-1.4.patch uploaded by nic (license 299)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89099 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 01:28:56 +00:00
Joshua Colp
53fd91490e Add support for allowing one outgoing transaction. This means if a response comes back out of order chan_sip will still handle it. I dream of a chan_sip with real transaction support.
(closes issue #10946)
Reported by: flefoll
(closes issue #10915)
Reported by: ramonpeek
(closes issue #9567)
Reported by: atca_pres


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 01:11:25 +00:00
Joshua Colp
f1309f2c3f If callerid is configured in sip.conf use that for checking the presence of an extension in the dialplan.
(closes issue #11185)
Reported by: spditner


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89095 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-07 23:53:25 +00:00
Mark Michelson
0d76379f54 This patch makes it possible for SIP phones to dial extensions defined with '#' characters
in extensions.conf AND maintain their escaped characters when forming URI's

(closes issue #10681, reported by cahen, patched by me, code review by file)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-07 22:40:35 +00:00
Joshua Colp
cac21aa19b Make it so that if a peer is determined to be unreachable using qualify their devicestate will report back unavailable.
(closes issue #11006)
Reported by: pj


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 17:08:05 +00:00
Russell Bryant
ea00780d49 When traversing the list of channel variables here in transmit_invite(), the
asterisk channel must be locked, as this data may change at any time.

(I have seen numerous reports of crashes related to the handling of channel
variables.  There are a couple of issues on the bug tracker related to it,
but it has also been noted on IRC and mailing lists.  So, I am finding and
fixing some places where channel variables are handled improperly.) 


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88768 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 21:33:56 +00:00
Russell Bryant
69e42e6096 Fix up some indentation.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88765 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 21:21:39 +00:00
Joshua Colp
10c172eb00 If a SIP channel is put on hold multiple times do not keep incrementing the onHold value.
(closes issue #11085)
Reported by: francesco_r
Tested by: blitzrage
(closes issue #10474)
Reported by: acennami


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 18:47:13 +00:00
Jason Parker
7fa3a53ec2 Make sure we destroy the config structure on configuration failure.
Issue 11163, patch by eliel.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 17:19:41 +00:00
Luigi Rizzo
a0edff2477 Rename ast_string_field_free_pool to ast_string_field_free_memory,
and ast_string_field_free_all to ast_string_field_reset_all
to avoid misuse (due to too similar names and an error in
documentation). Fix two related memory leaks in app_meetme.

No need to merge to trunk, different fix already applied there.
Not applicable to 1.2



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-04 22:38:13 +00:00
Joshua Colp
986e8a3ae8 Make subscribecontext behave as advertised. It will now look for the presence of a hint in the given context (be it subscribecontext or context).
(closes issue #10702)
Reported by: slavon


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88366 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02 20:49:45 +00:00
Joshua Colp
e49faa404a If an INFO request within a dialog is received with a content length of 0 simply send back a 200 OK. It is valid to do this and the remote side is probably using it to make sure the signalling is still alive.
(closes issue #5747)
Reported by: chandi
Patches:
      infofix-81430-1.patch uploaded by IgorG (license 20)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02 20:20:21 +00:00
Joshua Colp
143536912e Fix issue where if both sides of the dialog cancelled the dialog at the same time chan_sip could kepe retransmitting a response for no reason.
(closes issue #9566)
Reported by: atca_pres
Patches:
      bug9566.patch uploaded by oej


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29 17:20:28 +00:00
Joshua Colp
d6d7384355 After reading online I have confirmed that Record-Route headers should be copied to 1xx responses as well.
(closes issue #10113)
Reported by: makoto


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@86756 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-22 16:35:22 +00:00
Joshua Colp
a5b69b3583 Fix two issues with domains and transfers. If a port was given in the hostname it was treated as part of the hostname. If domains were configured but external domains were not enabled all transfers would be considered remote.
(closes issue #11027)
Reported by: ramonpeek
Patches:
      11027-1.diff uploaded by ramonpeek (license 266)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@86471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-19 15:33:49 +00:00
Joshua Colp
918ee9ae5b Set port number in received as information for registrations as well.
(closes issue #11028)
Reported by: brad-x


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@86469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-19 15:08:12 +00:00
Russell Bryant
ed426a7165 If Asterisk is in the middle of shutting down, respond to OPTIONS
with 503 Unavailable.

(closes issue #10994)
Reported by: eserra
Patches:
      sip-options-503.patch uploaded by eserra (license 45)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@86149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-17 17:57:45 +00:00
Joshua Colp
faf4b212eb Whoops, forgot to remove the original sip_scheddestroy.
(closes issue #11010)
Reported by: vadim


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@86117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-17 16:58:03 +00:00
Joshua Colp
c9638888aa Don't schedule dialog destruction if a MESSAGE is received using an existing dialog.
(closes issue #11010)
Reported by: vadim


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@86063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-17 15:06:36 +00:00
Russell Bryant
3ba62c30b9 Make the default for the srvlookup option to be yes. It doesn't really make
sense for it to default to off.  The default configuration file has it on, and
proper RFC behavior, as indicated by a comment in the code, is for it to be on.
So, let's have it on by default to make lives easier.
(closes issue #10954, suggested by jtodd)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@85604 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-15 16:54:57 +00:00
Joshua Colp
437a6ffcd3 When creating a new packet don't try to stop retransmission of it. It was just allocated/created so it's impossible for it to have already been scheduled.
(closes issue #10945)
Reported by: flefoll
Patches:
      chan_sip.c.br14.85280.xmit_reliable-patch uploaded by flefoll (license 244)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@85397 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-11 15:26:20 +00:00
Joshua Colp
3b9fafc1e0 If devicestate is passed a port number strip it out.
(closes issue #10930)
Reported by: ibc


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@85280 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-10 14:42:00 +00:00
Joshua Colp
e568fc66d9 Add support for handling a 182 Queued response.
(closes issue #10924)
Reported by: ramonpeek
Patches:
      queued-182.diff uploaded by ramonpeek (license 266)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@85277 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-10 14:28:18 +00:00
Joshua Colp
474e0e8d12 Don't perform a reinvite if a transfer is in progress.
(issue #10915)
Reported by: ramonpeek


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@85093 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-09 14:30:16 +00:00
Russell Bryant
f741decf40 Use snprintf instead of sprintf in one place. There is no vulnerability here
due to various buffer sizes around the code, but I still didn't like seeing a
non length-limited copy of data coming off of the wire into a stack buffer, as
this would be a problem in the future if buffer sizes elsewhere got changed or
size limitations removed ...


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@84370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-02 14:12:35 +00:00
Russell Bryant
a8ec2e2356 I changed my mind ... I think this should be a LOG_NOTICE.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83943 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-26 21:35:23 +00:00
Russell Bryant
f77e615e9f Add a log message that was requested by the masses in the developer tutorial
session at Astricon.  chan_sip did not output any message when a call was
rejected because the extension was not found.  This adds a verbose message
(at verbose level 3) to note when this happens.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83941 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-26 21:15:15 +00:00
Russell Bryant
d6b8fb4dc0 gcc 4.2 has a new set of warnings dealing with cosnt pointers. This set of
changes gets all of Asterisk (minus chan_alsa for now) to compile with gcc 4.2.
(closes issue #10774, patch from qwell)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-21 14:37:20 +00:00
Joshua Colp
9ffb2fe0cf Fix video under certain circumstances. It would have been possible for the formats on the channel to not contain the video format.
(closes issue #10782)
Reported by: cwhuang


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-21 13:34:32 +00:00
Joshua Colp
00000995f3 Make sure the minimum T1 timer value is obeyed in all cases.
(closes issue #10768)
Reported by: flefoll
Patches:
      chan_sip.c.trunk.83071.retrans-patch uploaded by flefoll (license 244)
      chan_sip.c.br14.83070.retrans-patch uploaded by flefoll (license 244)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-20 16:25:30 +00:00
Joshua Colp
a39ed78af6 Fix a minor spelling error.
(closes issue #10769)
Reported by: flefoll
Patches:
      chan_sip.c.trunk.83071.inita-patch uploaded by flefoll (license 244)
      chan_sip.c.br14.83070.inita-patch uploaded by flefoll (license 244)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-20 16:17:24 +00:00
Joshua Colp
4be09d967e (closes issue #10760)
Reported by: dimas
Patches:
      chan_sip.patch uploaded by dimas (license 88)
Read in subscribecontext option in general to be the default.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-19 13:18:22 +00:00
Russell Bryant
f6212e48cb (closes issue #9724, closes issue #10374)
Reported by: kenw
Patches:
      9724.txt uploaded by russell (license 2)
Tested by: kenw, russell

Resolve a deadlock that occurs when doing a SIP transfer to parking.  

I come across this type of deadlock fairly often it seems.  It is very important
to mind the boundary between the channel driver and the core in respect to the
channel lock and the channel-pvt lock.  Channel drivers lock to lock the
pvt and then the channel once it calls into the core, while the core will do
it in the opposite order.  The way this is avoided is by having channel drivers
either release their pvt lock while calling into the core, or such as in this
case, unlocking the pvt just long enough to acquire the channel lock.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-06 22:28:57 +00:00
Kevin P. Fleming
0e39aced3c there is no point in sending 401 Unauthorized to a UAS that sent us a properly-formatted Authentication header with the expected username and nonce but an incorrect response (which indicates the shared secret does not match)... instead, let's send 403 Forbidden so that the UAS doesn't retry with the same authentication credentials repeatedly
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-04 16:40:39 +00:00
Joshua Colp
fcee92481e (closes issue #10514)
Reported by: casper
Patches:
      chan_sip.c.80129.diff uploaded by casper (license 55)
Remove needless check for AUTH_UNKNOWN_DOMAIN. It was impossible for it to ever be that value.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81395 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-30 21:23:50 +00:00
Joshua Colp
8fcc537329 (closes issue #9690)
Reported by: mattv
Make rtp timeouts work even if two RTP streams are directly bridged in the RTP stack.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-29 14:13:55 +00:00
Joshua Colp
7a47ac4960 (closes issue #10561)
Reported by: jesselang
Patches:
      chan_sip-ChannelReload-20080825.patch uploaded by jesselang (license 202)
Remove an extra \r\n to make the ChannelReload event conform with every other event.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-27 15:01:59 +00:00
Russell Bryant
c5cf1e50ac Don't crash when using realtime in chan_sip without an insecure setting in the database.
(closes issue #10348, reported by link55, fixed by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@80390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-22 21:00:44 +00:00
Russell Bryant
3c2eae9ab4 Don't record SIP dialog history if it's not turned on. Also, put an upper
limit on how many history entires will be stored for each SIP dialog.  It is
currently set to 50, but can be increased if deemed necessary.
(closes issue #10421, closes issue #10418, patches suggested by jmoldenhauer,
 patches updated by me)
(Security implications documented in AST-2007-020)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@80183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-21 18:42:15 +00:00
Jason Parker
f1cb3f70b7 Don't send a semicolon over the wire in sip notify messages.
Caused by fix for issue 9938.

I basically took the code that existed before 9938 was fixed, and
 copied it into a new function - ast_unescape_semicolon

There should be very few places this will be needed (pbx_config
 does NOT need this (see issue 9938 for details))

Issue 10430, patch by me, with help/ideas from murf (thanks murf).


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@79904 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-17 19:12:19 +00:00
Russell Bryant
9be377d89f Fix some crashes in chan_sip. This patch changes various places that add items
to the scheduler to ensure that they don't overwrite the ID of a previously
scheduled item.  If there is one, it should be removed.
(closes issue #10391, closes issue #10256, probably others, patch by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@79857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-17 13:37:08 +00:00
Joshua Colp
e856a6fb34 (closes issue #10456)
Reported by: irroot
Patches:
      sip_timeout.patch uploaded by irroot (license 52)
Change hardcoded timer value to defined value. I'm doing this in 1.4 as well so if it needs to be changed in the future this place would not have been forgotten.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@79523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-15 14:18:44 +00:00