Sat, 03 Oct 2009 16:18:52 +0200
Update version, adjust corresponding buildconf, and correct logic.
1: Make minor corrections and improvements to scripts patch logic.
2: Upgrade to most recent stable release version 3.0.2.
3: Force selection of a single db backend, as multiple ones never
were supported (changing 'with_db<end>' identifiers accordingly.)
4: Unfortunately add gawk requirement although only partly needed.
5: Add openssl::with_threads requirement to solve strange and hard
to debug problems on Solaris leading to connection failures:
'host-dir JobId 0: Error: openssl.c:86 Connect failure: ERR=error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number'
and
'host-dir JobId 40: Fatal error: TLS negotiation failed with FD at "back1.host.com:9102"'
1 Index: channels/chan_sip.c
2 diff -Nau channels/chan_sip.c.orig channels/chan_sip.c
3 --- channels/chan_sip.c.orig 2009-04-24 00:51:58.000000000 +0200
4 +++ channels/chan_sip.c 2009-04-24 00:52:33.000000000 +0200
5 @@ -16428,6 +16428,7 @@
6 /* Called with peerl lock, but releases it */
7 struct sip_pvt *p;
8 int newmsgs, oldmsgs;
9 + char *s = NULL;
11 /* Do we have an IP address? If not, skip this peer */
12 if (!peer->addr.sin_addr.s_addr && !peer->defaddr.sin_addr.s_addr)
13 @@ -16461,6 +16462,11 @@
14 /* Recalculate our side, and recalculate Call ID */
15 if (ast_sip_ouraddrfor(&p->sa.sin_addr, &p->ourip))
16 p->ourip = __ourip;
17 + /* Set the username = mailbox and remove the context */
18 + ast_string_field_build(p, username, "%s", peer->name);
19 + s = strchr(p->username, '@');
20 + if (s != NULL)
21 + *s = 0;
22 build_via(p);
23 build_callid_pvt(p);
24 /* Destroy this session after 32 secs */