Bug#632518: asterisk: Placing calls on hold fails with some IP phones (aastra 9133i, sipdroid)
James Bottomley
James.Bottomley at HansenPartnership.com
Sun Jul 3 05:26:48 UTC 2011
Package: asterisk
Version: 1:1.8.4.3-1
Severity: important
Tags: upstream patch
Upstream bugzilla: https://issues.asterisk.org/jira/browse/ASTERISK-18086
Any phone that uses INVITE to 0.0.0.0 to place a call on hold fails
with asterisk 1.8. This feature works in asterisk 1.6, so this is
a feature regression.
The problem looks to have been introduced by replacing the hold check
for 0.0.0.0 with ast_sockaddr_isnull() which dosn't return true on
0.0.0.0.
Fix attached works by making ast_sockaddr_resolve_first_af() explicitly
set zero length on the 0.0.0.0 address case.
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (500, 'testing'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.38-2-686 (SMP w/1 CPU core)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages asterisk depends on:
ii adduser 3.113 add and remove users and groups
ii asterisk-config 1:1.8.4.3-1 Configuration files for Asterisk
ii asterisk-modules 1:1.8.4.3-1 loadable modules for the Asterisk
ii asterisk-sounds-mai 1:1.6.2.9-2+squeeze2 Core Sound files for Asterisk (Eng
ii libc6 2.13-7 Embedded GNU C Library: Shared lib
ii libcap2 1:2.21-1 support for getting/setting POSIX.
ii libgcc1 1:4.6.0-10 GCC support library
ii libncurses5 5.9-1 shared libraries for terminal hand
ii libssl1.0.0 1.0.0d-3 SSL shared libraries
ii libstdc++6 4.6.0-10 The GNU Standard C++ Library v3
ii libxml2 2.7.8.dfsg-3 GNOME XML library
Versions of packages asterisk recommends:
ii asterisk-moh-opsound-gsm 2.03-1 asterisk extra sound files - Engli
ii asterisk-voicemail 1:1.8.4.3-1 simple voicemail support for the A
ii sox 14.3.2-1 Swiss army knife of sound processi
Versions of packages asterisk suggests:
ii asterisk-dahdi 1:1.8.4.3-1 DAHDI devices support for the Aste
ii asterisk-dev 1:1.8.4.3-1 Development files for Asterisk
ii asterisk-doc 1:1.8.4.3-1 Source code documentation for Aste
pn asterisk-ooh323 <none> (no description available)
-- Configuration Files:
/etc/default/asterisk changed [not included]
-- no debconf information
-------------- next part --------------
--- channels/chan_sip.c.old 2011-07-02 12:11:56.000000000 -0500
+++ channels/chan_sip.c 2011-07-02 21:10:05.000000000 -0500
@@ -28439,7 +28439,14 @@
ast_debug(1, "Multiple addresses, using the first one only\n");
}
- ast_sockaddr_copy(addr, &addrs[0]);
+ if (addrs[0].ss.ss_family == AF_INET &&
+ ((struct sockaddr_in *)&addrs[0].ss)->sin_addr.s_addr
+ == INADDR_ANY)
+ /* treat 0.0.0.0 as NULL address; needed to get
+ * hold to work in some circumstances */
+ addr->len = 0;
+ else
+ ast_sockaddr_copy(addr, &addrs[0]);
ast_free(addrs);
return 0;
More information about the Pkg-voip-maintainers
mailing list