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