Commit Graph

7051 Commits

Author SHA1 Message Date
Richard Mudgett
d63e58203a Fixed reference to incorrect variable if unknown host configured crash.
* Fixed a LOG_ERROR message referencing the config variable list v that
had previously been processed and became NULL.

* Added error return value set that was missing in an ast_append_ha()
error return path.

(closes issue ASTERISK-18743)
Reported by: Michele
Patches:
      issueA18743-fix_dynamic_exclude_static_bad_host_log.patch (license #5674) patch uploaded by Walter Doekes
Tested by: Michele


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-08 17:58:21 +00:00
Matthew Nicholson
59f002fd67 respect case changes in peer names on sip reload
ASTERISK-18669


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-07 21:40:51 +00:00
Richard Mudgett
71769a3245 Fix __sip_subscribe_mwi_do() incorectly changing dialogs hash key callid.
Changing an object value used as a container key requires removing the
object from the container and reinserting it.

* Created change_callid_pvt() to call instead of build_callid_pvt().  The
change_callid_pvt() will correctly change the dialog callid so the ao2
conainter can explicitly unlink it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-07 21:13:21 +00:00
Kinsey Moore
dc3ca68670 Prevent BLF subscriptions from causing deadlocks
Fix a locking inversion in sip_send_mwi_to_peer that was causing deadlocks.
This function now requires that both the peer and associated pvt be unlocked
before it is called for cases where peer and peer->mwipvt form a circular
reference.

(closes issue ASTERISK-18663)
Review: https://reviewboard.asterisk.org/r/1563/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-07 20:27:38 +00:00
Richard Mudgett
3864c4083c Fix deadlock if peer is destroyed while sending MWI notice.
A dialog cannot be destroyed by the ao2_callback dialog_needdestroy
because of a deadlock between the dialogs container lock and the RWLOCK of
the events subscription list.

* Create dialogs_to_destroy container to hold dialogs that will be
destroyed.

* Ensure that the event subscription callback will never happen with an
invalid peer pointer by making the event callback removal the first thing
in the peer destructor callback.

(closes issue ASTERISK-18747)
Reported by: Gregory Hinton Nietsky

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-07 19:36:56 +00:00
Terry Wilson
702726c917 Make room for the fax detect flags
The original REGISTERTRYING flag, in addition to being impossible to
check, also encroached on the space for the flag above it. This
patch moves the flags that were below REGISTERTRYING back to where
they were as though we had just removed the REGISTERTRYING option.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343276 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-03 15:33:37 +00:00
Terry Wilson
5844133aba Remove registertrying option in chan_sip
This option is not only useless, but has been broken since inception since
the flag was never copied from the peer where it is set to the pvt where
it was checked. RFC 3261 specificially states that you should not send a
provisional response to a non-INVITE request, and if we did fix the code
so that it worked, it would cause the same kind of user enumeration
vulnerability that we've discussed with the nat= setting. This patch
removes registertrying option and any code that would have sent a 100
response to a register.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343220 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-02 22:59:36 +00:00
Walter Doekes
fb50c1db4b Fix improper warning introduced by r342927 and more tweaks
Changeset r342927 introduced a warning which was only supposed to be
emitted when a found realtime peer had an empty (or no) name. It turned
out that there were some inconsistencies left. Now found peers with an
empty name are explicitly ignored like before r342927 but better.

Reviewed by: Stefan Schmidts, Terry Wilson

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-02 22:21:40 +00:00
Walter Doekes
ab2dacb555 Several fixes to the chan_sip dynamic realtime peer/user lookup
There were several problems with the dynamic realtime peer/user lookup
code. The lookup logic had become rather hard to read due to lots of
incremental changes to the realtime_peer function. And, during the
addition of the sipregs functionality, several possibilities for memory
leaks had been introduced. The insecure=port matching has always been
broken for anyone using the sipregs family. And, related, the broken
implementation forced those using sipregs to *still* have an ipaddr
column on their sippeers table.

Thanks Terry Wilson for comprehensive testing and finding and fixing
unexpected behaviour from the multientry realtime call which caused
the realtime_peer to have a completely unused code path.

This changeset fixes the leaks, the lookup inconsistenties and that
you won't need an ipaddr column on your sippeers table anymore (when
you're using sipregs). Beware that when you're using sipregs, peers
with insecure=port will now start matching!

(closes issue ASTERISK-17792)
(closes issue ASTERISK-18356)
Reported by: marcelloceschia, Walter Doekes
Reviewed by: Terry Wilson

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342927 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-01 20:53:37 +00:00
Matthew Jordan
8765a80355 Fixed invalid memory access when adding extension to pattern match tree
When an extension is removed from a context, its entry in the pattern match
tree is not deleted.  Instead, the extension is marked as deleted.  When an
extension is removed and re-added, if that extension is also a prefix of
another extension, several log messages would report an error and did not
check whether or not the extension was deleted before accessing the memory.
Additionally, if the extension was already in the tree but previously
deleted, and the pattern was at the end of a match, the findonly flag was
not honored and the extension would be erroneously undeleted.  

Additionaly, it was discovered that an IAX2 peer could be unregistered
via the CLI, while at the same time it could be scheduled for unregistration
by Asterisk.  The unregistration method now checks to see if the peer
was already unregistered before continuing with an unregistration.

(closes issue ASTERISK-18135)
Reported by: Jaco Kroon, Henry Fernandes, Kristijan Vrban
Tested by: Matt Jordan

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




git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342769 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-31 15:58:06 +00:00
Richard Mudgett
bcdf507f3c Change D-channel warning to be less confusing on non-NFAS setups.
The "No D-channels available!  Using Primary channel as D-channel anyway!"
WARNING message has been confusing on non-NFAS setups.  The message refers
to things that are NFAS specific.

* Changed the warning to several different warnings to be more accurate
for the situation and less confusing as a result:
"No D-channels up!  Switching selected D-channel from X to Y.",
"No D-channels up!", and
"D-channel is down!".


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-25 21:45:54 +00:00
Jonathan Rose
2adb133feb Outbound SIP OPTIONS messages will now include fromuser of related peer.
This behavior matches up more closely with the way invite/register/etc are handled.
This patch also modifies some adjacent code for code style compliance.  Pretty minor.

(closes issue ASTERISK-17616)
Reported by: Jeremy Kister
Patches:
     chan_sip.c-options-fromuser-fix-v1.patch uploaded by Jeremy Kister (license #6232)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-24 19:49:51 +00:00
Paul Belanger
d6f1839114 Outgoing calls with Google Voice
Google has recently make some changes (again) to their protocol.  Rather then
patching asterisk to flip between the two different methods, we now allow both.

Lets hope this keeps Google Voice happy for a while.

(closes issue ASTERISK-18714)
Reported by: Iordan Iordanov
Patches:
    chan_gtalk.patch uploaded by Iordan Iordanov (licenses 6311)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@341435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-19 18:59:39 +00:00
Terry Wilson
8eb030a3a2 Don't use is_int() since it doesn't link well on all platforms
Just create an normal API function in strings.h that does the same thing
just to be safe.

ASTERISK-17146


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@341379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-19 07:38:52 +00:00
Stefan Schmidt
eae454ca3f Don't sent in-dialog requests like UPDATE when Asterisk has not yet received a Contact URI from a UAS
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@341366 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-19 07:15:51 +00:00
Terry Wilson
432657163f Don't resolve numeric hosts or contact unresolved hosts
If a SIP dial string contains a numeric hostname that is not a peer name,
don't try to resolve it as it is unlikely that someone really means
Dial(SIP/0.0.4.26) when Dial(SIP/1050) is called. Also, make sure that
create_addr returns -1 if an address isn't resolved so that we don't
attempt to send SIP requests to an address that doesn't resolve.

(closes issue ASTERISK-17146, ASTERISK-17716)

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@341314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-18 23:37:57 +00:00
Richard Mudgett
f2b371fedf More parking issues.
* Fix potential deadlocks in SIP and IAX blind transfer to parking.

* Fix SIP, IAX, DAHDI analog, and MGCP channel drivers to respect the
parkext_exclusive option with transfers (Park(,,,,,exclusive_lot)
parameter).  Created ast_park_call_exten() and ast_masq_park_call_exten()
to maintian API compatibility.

* Made masq_park_call() handle a failed ast_channel_masquerade() setup.

* Reduced excessive struct parkeduser.peername[] size.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@341254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-18 21:03:04 +00:00
Terry Wilson
2426e2604e Initialize variables before calling parse_uri
If parse_uri was called with an empty URI, some pointers would be
modified and an invalid read could result. This patch avoids calling
parse_uri with an empty contact uri when parsing REGISTER requests. 

AST-2011-012

(closes issue ASTERISK-18668)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@341189 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-17 17:35:23 +00:00
Terry Wilson
b951592017 Don't try to remove peers without IPs from peers_by_ip
(closes issue ASTERISK-18696)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@341088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-17 15:35:05 +00:00
Kinsey Moore
0fa2f5914e Quiet RTCP Receiver Reports during fax transmission
RTCP is now disabled for "inactive" RTP audio streams during SIP T.38 sessions.
The ability to disable RTCP streams in res_rtp_asterisk was missing, so this
code was added to support the bug fix.

(closes issue ASTERISK-18400)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@340970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-14 20:49:39 +00:00
Stefan Schmidt
598b45b175 storing the route-set also on a 181 response not only on 180,182 or 183.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@340717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-13 06:58:00 +00:00
Terry Wilson
eb38856434 Initialize ast_sockaddr before calling ast_sockaddr_resolve
Avoid possible jump based on unitialized value


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@340715 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-13 06:52:12 +00:00
Stefan Schmidt
3bc7b5d2c9 Store route-set from provisional SIP responses so early-dialog requests can be routed properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@340576 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-12 20:30:37 +00:00
Terry Wilson
610a2997dd Update SIP realtime fullcontact regardless of caching
We should update the fullcontact field in the realtime table whether or
not rtcachefriends is set. There is no reason to treat a non-cached
realtime entity differently than a cached in this regard.

(closes issue ASTERISK-18446)
 Reported by: wdoekes


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@340534 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-12 20:19:36 +00:00
Richard Mudgett
0c069b5653 Initialize the PRI channel alarms properly on startup.
The PRI channel alarms were initialized with an inverted sense.

(closes issue ASTERISK-18710)
Reported by: Tzafrir Cohen


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@340522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-12 20:07:33 +00:00
Paul Belanger
35fcb785af Fix verbose messages when IPv6 logic was added
(closes issue ASTERISK-18612)
Reported by: Tim Osman


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@340418 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-12 16:27:23 +00:00
Richard Mudgett
fbc51bb795 Add protection for SS7 channel allocation and better glare handling.
* Added a CLI "ss7 show channels" command that might prove useful for
future debugging.

* Made the incoming SS7 channel event check and gripe message uniform.

* Made sure that the DNID string for an incoming call is always
initialized.

(issue ASTERISK-17966)
Reported by: Kenneth Van Velthoven
Patches:
      jira_asterisk_17966_v1.8_glare.patch (license #5621) patch uploaded by rmudgett


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@340365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-11 21:03:15 +00:00
Richard Mudgett
a458ac621e Fix some potential deadlocks pointed out by helgrind.
* Fixed deadlock potential calling dialog_unlink_all() in
__sip_autodestruct().  Found by helgrind.

* Fixed deadlock potential in handle_request_invite() after calling
sip_new().  Found by helgrind.

* The sip_new() function now returns with the created channel already
locked.

* Removed the dead code that starts a PBX in in sip_new().  No sip_new()
callers caused that code to be executed and it was a bad thing to do
anyway.

* Removed unused parameters and return value from dialog_unlink_all().

* Made dialog_unlink_all() and __sip_autodestruct() safely obtain the
owner and private channel locks without a deadlock avoidance loop.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@340284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-11 19:16:47 +00:00
Matthew Jordan
21bb14654b Updated chan_sip to place calls on hold if SDP address in INVITE is ANY
This patch fixes the case where an INVITE is received with c=0.0.0.0 or ::.
In this case, the call should be placed on hold.  Previously, we checked for
the address being null; this patch keeps that behavior but also checks for
the ANY IP addresses.

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

(closes issue ASTERISK-18086)
Reported by: James Bottomley
Tested by: Matt Jordan


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@340164 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-10 20:23:48 +00:00
Igor Goncharovskiy
5e05620bb7 Fix compilation issue, caused by missed session structure
(closes issue ASTERISK-18694)
Reported by: alex70



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@339938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-09 01:16:09 +00:00
Igor Goncharovskiy
7d3b4d5e80 Fix segfault in Unistim channel
(closes issue ASTERISK-18638)
Reported by: jonnt



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@339884 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-08 15:45:20 +00:00
Igor Goncharovskiy
6d6ed815cc Fix char array cast as short array in send_client() function (for ARM
platform)

(closes issue ASTERISK-17314)
Reported by: jjoshua



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@339830 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-08 14:56:35 +00:00
Richard Mudgett
06e6b7bba1 Fix debugging messages generated by 'udptl debug'.
* Makes chan_sip set the tag to the channel name.

* Fixes received debug message sequence number.

* Removed tx/rx debug message type since it was hard coded to 0.

* Made udptl.c logged message header consistent if possible: "UDPTL (%s): ".

* Removed unused rx_expected_seq_no from struct ast_udptl.

(closes issue ASTERISK-18401)
Reported by: Kevin P. Fleming
Patches:
      jira_asterisk_18401_v1.8.patch (license #5621) patch uploaded by rmudgett
Tested by: Matthew Nicholson


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@339625 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-06 17:49:38 +00:00
Leif Madsen
2e320de4bf Remove duplicated Maxforwards line in AMI output.
(Closes issue ASTERISK-18637)
Reported by: Jacek Konieczny
Patches:
     asterisk-sipshowpeer.patch (License #6298) uploaded by Jacek Konieczny

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@339147 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-03 20:12:43 +00:00
Terry Wilson
a0eb30ea43 Properly ignore AST_CONTROL_UPDATE_RTP_PEER in more places
After the change in r336294, the new AST_CONTROL_UPDATE_RTP_PEER frame
is sent when a re-invite happens. If we receive a re-invite from a device
the waitstream_core was not aware of the new control frame and would drop
the call.

(closes issue ASTERISK-18610)
	Reported by: Kristijan_Vrban


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@339086 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-03 18:40:52 +00:00
Richard Mudgett
4d9b980ab8 Fix segfault in analog_ss_thread() not checking ast_read() for NULL.
NOTE: The problem was reported against v1.6.2.  It is unlikely to ever
happen on v1.8 and above since chan_dahdi.c:analog_ss_thread() is unlikely
to be used.  The version in sig_analog.c has largely replaced it.

(closes issue ASTERISK-18648)
Reported by: Stephan Bosch
Patches:
      jira_asterisk_18648_v1.8.patch (license #5621) patch uploaded by rmudgett
Tested by: Stephan Bosch


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@338800 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-30 22:05:10 +00:00
Richard Mudgett
c9546515e5 Fix formatting of AMI header for SIP show peer.
ASTERISK-17486 exposed the problem for AMI parsers.

(closes issue ASTERISK-18649)
Reported by: Jacek Konieczny
Patches:
      asterisk-sipshowpeer_response_end.patch (license #6298) patch uploaded by Jacek Konieczny


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@338663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-30 16:27:21 +00:00
Leif Madsen
be71dfc76b Update documentation for SIP_HEADER.
The SIP_HEADER function only works on the the initial SIP INVITE. The documentation was updated
in trunk, but not in 1.8 or 10, so I'm making them match.

(Closes issue ASTERISK-18640)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@338492 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-29 18:31:33 +00:00
Gregory Nietsky
e7d6d7ee19 The rtptimeout setting is ignored on a per peer basis.
Not only is the rtptimeout ignored in some cases but 
rtpkeepalive and rtpholdtimeout is affected.

this commit also removes rtptimeout/rtpholdtimeout on
text rtp.

(closes issue ASTERISK-18559)

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@338416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-29 12:13:05 +00:00
Richard Mudgett
8711d897d0 Make duplicate call ptr warning message more helpful.
* Adds the value of the call ptr to the duplicate call ptr message to help
trace why there is a duplicate call ptr.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@338322 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-28 22:35:52 +00:00
Jason Parker
529ab3ad50 Add support levels to non-module sections of menuselect (cflags, utils, etc).
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@338227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-28 20:52:47 +00:00
Richard Mudgett
b535088ac6 Fix chan_dahd compiling with gcc 4.6 when PRI and SS7 not present.
(closes issue ASTERISK-18357)
Reported by: Matthew Nicholson


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@338224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-28 20:24:41 +00:00
Richard Mudgett
f8b799c0c1 Made ISDN not add numbering plan prefix strings to empty numbers.
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 Caller-ID number even if it is restricted (empty) causing the
Caller-ID to be the national prefix rather than blank.

This behavior was lost when sig_pri was extracted from chan_dahdi.

* Made not add prefix strings to empty connected line, calling, and ANI
number strings.

(closes issue ASTERISK-18577)
Reported by: Kris Shaw
Patches:
      jira_asterisk_18577_v1.8.patch (license #5621) patch uploaded by rmudgett
Tested by: Kris Shaw


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@337720 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-22 21:29:46 +00:00
Gregory Nietsky
c6dd0ef286 If IP address is used in chan_h323 host parameter of peer configuration.
module tries to resolve IP address to IP address and fails.

Simple fix to set family of socket this is a hangover from ipv6 changes.

(closes issue ASTERISK-18237)
(issue ASTERISK-17278)
(issue ASTERISK-17500)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@337486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-22 09:22:26 +00:00
Richard Mudgett
7361deae1b Check if a channel was created before using the pointer in sig_ss7_new_ast_channel().
Fixes the crash in ASTERISK-17955 gdb-11918.txt backtrace.

* Added some missing libss7 access lock protection.

* Prevent cancelling the ss7_linkset() thread at inoportune times just
like the pri_dchannel() thread.

(issue ASTERISK-17955)
Reported by: Ian M Sherman
Patches:
      jira_asterisk_17955_v1.8.patch (license #5621) patch uploaded by rmudgett
      (attached to related ASTERISK-17966)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@337007 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-20 19:10:30 +00:00
Richard Mudgett
b48984e2fb Fix deadlock from not releasing SS7 linkset lock.
sig_ss7_hangup() failed to release the SS7 linkset lock if the call had
the alreadyhungup flag set.

* Made unlock the SS7 linkset lock in sig_ss7_hangup() if the
alreadyhungup flag is set.

* Made ss7_start_call() not hold any locks while creating the channel for
an incoming call to prevent deadlock.

* Made ss7_grab() a void function, since it could never fail, to simplify
calling code.

* Made obtain the channel lock to do softhangup in some places.

Patches:
      jira_ast_668_v1.8.patch (license #5621) patch uploaded by rmudgett

JIRA AST-668


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@336977 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-20 18:12:17 +00:00
Terry Wilson
0628cce193 Don't interfere with T.38 reinvites
This is an update to the fix for ASTERISK-18340 and ASTERISK-17725


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@336791 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-19 22:07:58 +00:00
Richard Mudgett
9eb7ccef76 Rework sig_pri_hangup() to be simpler and clearer.
JIRA AST-675


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@336569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-19 15:25:34 +00:00
Olle Johansson
535817fe71 Add diversion header to a 302 redirect response if we have diversion data
(closes issue ASTERISK-18143)
	patch by oej


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@336501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-19 13:33:50 +00:00
Gregory Nietsky
aa50191685 A long time ago in a galaxy far far away a IPv6 update was made,
chan_h323 was not updated causeing all to flee to chan_ooh323.

the brave Jedi [asterisk developers] pondered this miscarrige of justice
and restored order to the force for the sake of closing out 2 old issues.

(closes issue ASTERISK-17278)
(closes issue ASTERISK-17500)
Reported by: dread, sybasesql
Tested by: irroot
Reviewed by: IRC (russellb, kpfleming)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@336499 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-19 13:27:52 +00:00