Olle Johansson [Thu, 24 May 2007 14:38:30 +0000 (14:38 +0000)]
Issue 8409 - phsultan - Fix "login" as component to jabber server.
...and, by accident, fix a bug in chan_sip for stopping a loop on retransmits
of BYE requests.
Merged revisions 65767 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r65767 | crichter | 2007-05-24 11:19:58 +0200 (Do, 24 Mai 2007) | 1 line
we should only activate the generator in chan_misdn, when asterisk hask not yet taken the call (WAITING4DIGS state). Alerting audio will be generated fomr asterisk for example.
........
Russell Bryant [Tue, 22 May 2007 13:09:34 +0000 (13:09 +0000)]
Merged revisions 65389 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r65389 | russell | 2007-05-22 08:07:03 -0500 (Tue, 22 May 2007) | 4 lines
Fix a memory leak that I just noticed in the device state handling in app_queue.
On most device state changes, it would leak roughly 8 to 64 bytes (the length of
the name of the device).
Merged revisions 65328 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r65328 | crichter | 2007-05-22 09:46:39 +0200 (Di, 22 Mai 2007) | 1 line
we stop the tones only when we're in the pre-call phase, otherwise e.g. when in CONNECTED state we should not stop tones when we receive an Information Message
........
Steve Murphy [Fri, 18 May 2007 22:26:51 +0000 (22:26 +0000)]
Ugh. The svnmerge didn't catch the shift from cdr.c to main/cdr.c, and neither did I. This is the remainder of the 9717 patch, the fix for the run-away FAIL status for a call
Steve Murphy [Fri, 18 May 2007 22:06:27 +0000 (22:06 +0000)]
Merged revisions 65172 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r65172 | murf | 2007-05-18 14:56:20 -0600 (Fri, 18 May 2007) | 1 line
This update will fix the situation that occurs as described by 9717, where when several targets are specified for a dial, if any one them reports FAIL, the whole call gets FAIL, even though others were ringing OK. I rearranged the priorities, so that a new disposition, NULL, is at the lowest level, and the disposition get init'd to NULL. Then, next up is FAIL, and next up is BUSY, then NOANSWER, then ANSWERED. All the related set routines will only do so if the disposition value to be set to is greater than what's already there. This gives the intended effect. So, if all the targets are busy, you'd get BUSY for the call disposition. If all get BUSY, but one, and that one rings is not answered, you get NOANSWER. If by some freak of nature, the NULL value doesn't get overridden, then the disp2str routine will report NOANSWER as before.
........
Issue 9235 - part of the problem, maybe not all. Please retry with this patch (and no
other patch) if you have problems with hanging SIP channels. Thank you.
A special Thank You to WeBRainstorm that gave me access to his system.
Olle Johansson [Fri, 18 May 2007 12:58:39 +0000 (12:58 +0000)]
- Adding support for putting calls OFF hold with a re-invite with blank SDP. This was a bug found while doing tests at SIPit in Antwerp.
- In order to not duplicate code, I restructured some of the code for putting calls on/off hold.
Thanks DEA for reminding me. This fix has been asleep in the videocaps branch until now.
Russell Bryant [Fri, 18 May 2007 02:48:51 +0000 (02:48 +0000)]
Fix a small bug I noticed while working on something else. app_queue did not
unregister its device state monitoring callback in unload_module(). So, this
would make Asterisk crash on the first device state change after you
unload the module.
Joshua Colp [Thu, 17 May 2007 16:10:12 +0000 (16:10 +0000)]
Even more direct RTP setup fixes! Don't allow a codec that isn't supported to creep into the SDP of either side. (issue #9446 reported by marcelbarbulescu)
Merged revisions 64513 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r64513 | crichter | 2007-05-16 10:23:42 +0200 (Mi, 16 Mai 2007) | 1 line
in the case immediate=yes, we directly jump into the dialplan, where people can use PlayTones to indicate a Dialtone, so we don't need to to that by ourself. also we should not do a dialtone_indicate for incoming calls on a TE port in overlapdialmode.
........
Russell Bryant [Mon, 14 May 2007 21:16:39 +0000 (21:16 +0000)]
When someone requests a specific parking space using the PARKINGEXTEN variable,
ensure that no other caller is already there.
(issue #9723, reported by mdu113, patch by me)
Russell Bryant [Mon, 14 May 2007 19:13:00 +0000 (19:13 +0000)]
Properly handle AST_CONTROL_PROGRESS by just ignoring it. An unknown indication
will trigger an error and cause sounds to stop, which in this case, is ringing.
Olle Johansson [Mon, 14 May 2007 18:52:09 +0000 (18:52 +0000)]
Handle network errors, like host or network unreachable, in a better way. This means that
calls to hosts or qualify (OPTION) messages will fail quicker if the TCP/IP stack tells us
that there is an issue.
Since this is an unconnected UDP socket, we will not get error messages directly
in most cases, but maybe on the second and third try.
Only perform stripping of - strings from the channel name for Zap channels. Anywhere else we might remove a legitimate part of a device name. (issue #9668 reported by stevedavies)
Russell Bryant [Fri, 11 May 2007 16:05:43 +0000 (16:05 +0000)]
When MD5 authentication is not possible because there is no challenge present,
either because the Challenge action was never issued, or some other reason,
give a proper error message and return an error instead of claiming that the
user wasn't found.
(reported by jsmith on IRC)
Russell Bryant [Thu, 10 May 2007 22:23:42 +0000 (22:23 +0000)]
Strip terminal escape sequences from CLI command output that is going to be
sent out over the manager interface.
(issue #9659, reported by pari, fixed by me)
Russell Bryant [Wed, 9 May 2007 16:55:27 +0000 (16:55 +0000)]
Modify ast_senddigit_begin() to use the same assumptions used elsewhere in the
code in that if a channel does not have a send_digit_begin() callback, it only
cares about DTMF END events. (pointed out by Michael Neuhauser on the
asterisk-dev list)
Properly handle hints that point to multiple devices in chan_sip. Why chan_sip is even doing this I have no idea but I would rather not go into a rant. (issue #9536 reported by rlister)
Russell Bryant [Wed, 9 May 2007 16:43:50 +0000 (16:43 +0000)]
Only call ast_senddigit_begin() in ast_senddigit() if the channel has a
send_digit_begin() callback. Checking the END_DTMF_ONLY flag was the
wrong thing to do, because that flag indicates that a *bridged* channel
only wants DTMF END events coming from this channel.
Russell Bryant [Wed, 9 May 2007 13:24:03 +0000 (13:24 +0000)]
I have seen multiple people post questions trying to figure out what the
message "The configure script must be executed before running 'make'" means.
So, add another like that says to specifically run ./configure. If this isn't
obvious enough, then they should be using something like AsteriskNOW and not
installing from source.
Merged revisions 62945,63402,63519 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r62945 | crichter | 2007-05-03 17:39:21 +0200 (Do, 03 Mai 2007) | 1 line
when we're in state WAITING4DIGS, we use the asterisk tone-generator which prods us, so we can't just return -1 in misdn_write in this case. Added a MISDN_KEYPAD channel variable, and fixed the sending of keypad. this enables us to modify the call forward parameters in the switch.
........
r63402 | crichter | 2007-05-08 17:07:37 +0200 (Di, 08 Mai 2007) | 1 line
added application misdn_check_l2l1 which tries to pull up the L1/L2 on all ports that have the layers down in a group. It waits then for a timeout. This helps for scenarios where multiple PMP BRIs are grouped together, or where a provider has a faulty PTP Implementation, that looses the L2 after a while.
........
r63519 | crichter | 2007-05-09 13:26:16 +0200 (Mi, 09 Mai 2007) | 1 line
release_chan frees ch, so we should never touch ch after release_chan, this may cause segfaults.
........
When a peer is seeded or built tell the devicestate core to update it's status. This is easier then having chan_sip load before pbx_config. (issue #9658 reported by dlynes)
improve loader a bit, by avoiding trying to initialize embedded modules twice and avoiding trying to load modules from disk when they have been loaded already during the 'preload' pass (reported by blitzrage on IRC, patch by me)
Russell Bryant [Thu, 3 May 2007 15:23:13 +0000 (15:23 +0000)]
Fix YADB (Yet Another DTMF Bug) ((C) Russell Bryant, 2007, TM, Patent Pending).
This set of changes came from a debugging session I had with Dwayne Hubbard.
When he called into his home FXO, ran the Echo application, and pressed a
digit, the digit would be echoed back and would never end. This is fixed,
along with a couple other little improvements.
* When chan_zap is in the middle of playing a digit to a channel, it feeds
back null frames, not voice frames. So, I have modified ast_read to check
the timing on emulated DTMF when it receives null frames, in addition to
where it was doing this on voice frames.
* Make a tweak to setting the duration on emulated DTMF digits. If there was
no duration specified, it set it to be the minimum, instead of the default.
* Instead of timing the emulated digits off of the number of samples in audio
frames that pass through, just use time values. Now there is no code in this
section that assumes 8kHz audio.
some fixes for PMP Hold/Retrieve, it should work now, when briding=no
........
r61770 | crichter | 2007-04-24 15:50:05 +0200 (Di, 24 Apr 2007) | 1 line
added lock for sending messages to avoid double sending. shuffled some empty_chans after the cb_event calls, this avoids that a release_complete from a quite different call releases a fresh created setup by accident.
........
r62885 | crichter | 2007-05-03 15:59:00 +0200 (Do, 03 Mai 2007) | 1 line
fixed the problem that misdn_write did not return -1 when called with 0 samples in a frame this resultet in a deadlock in some circumstances, when the call ended because of a busy extension. added encoding of keypad.
........
increase reliability and efficiency of static Realtime config loading via ODBC:
don't request fields we aren't going to use
don't request sorting on fields that are pointless to sort on
explicitly request the fields we want, because we can't expect the database to always return them in the order they were created
(reported by blitzrage in person (!), patch by me)
improve static Realtime config loading from PostgreSQL:
don't request sorting on fields that are pointless to sort on
use ast_build_string() instead of snprintf()
don't request the list of fieldnames that resulted from the query when we both knew what they were before we ran the query _AND_ we aren't going to do anything with them anyway
(patch by me, inspired by blitzrage's bug report about res_config_odbc)
Russell Bryant [Wed, 2 May 2007 22:59:09 +0000 (22:59 +0000)]
Merge changes from team/russell/inband_dtmf ...
Fix some issues related to generating inband DTMF. There are two changes here:
1) The list of DTMF tones in the senddigit_begin() function explicitly
specified 100ms of the tone followed by 100ms of silence. This really
broke things with the way that Asterisk now wants complete control
over when the digit begins and ends. So, regardless of what Asterisk
really wanted to do, this was going to play out the tone at the length it
wanted to. This caused various problems like DTMF translation to inband to
be extremely unreliable.
The list of tones has been changed so that the correct DTMF tone is played
indefinitely until Asterisk tells it to stop.
2) ast_write() had to be modified to let a DTMF_END frame get processed even
when a generator is present. This is how the tone will finally get stopped.
(issues #8944, #9250, #9348, maybe others. Thanks to mdu113 from #8944 for
the testing and feedback!)
Issue 9638 - if a text frame is sent with no terminating NULL through a bridged
IAX connection, the remote end will receive garbage characters tacked onto the
end.
Steve Murphy [Wed, 2 May 2007 17:10:50 +0000 (17:10 +0000)]
a)In chan_zap, set the clid, src fields in channel_alloc call. b)in the channel_alloc func, set the cid_num and name fields from the arglist[blush]. c) don't update the channel app & app data fields if you are in the 'h' extension. d)the load_module func in cdr_radius needs to return DECLINE, SUCCESS.