[Home]

Summary:ASTERISK-13133: [patch] Incoming Gtalk calls fail
Reporter:John Covert (jcovert)Labels:
Date Opened:2008-11-27 16:48:03.000-0600Date Closed:2009-09-15 16:54:43
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Channels/chan_gtalk
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) chan_gtalk.2.patch
( 1) chan_gtalk.patch
( 2) trunk-13984-1.diff
Description:All incoming Gtalk calls are failing.

It appears that something about the responses Asterisk is sending back to Gtalk are not making Gtalk happy; Gtalk responds with "unknown session".

The caller (see his Buddy info below) continues to hear ringing until Gtalk finally abandons the call.

/john
       Buddy:  OnStateGTalkTest@gmail.com
               Resource: Talk.v10496F5B39E
                       node: http://www.google.com/xmpp/client/caps
                       version: 1.0.0.104
                       Jingle capable: yes
               Status: 3
               Priority: 24


****** ADDITIONAL INFORMATION ******

mail2*CLI>
JABBER: onstate INCOMING: <iq to="gateway1@on-state.com/Talk4F920D67" type="set" id="120" from="OnStateGTalkTest@gmail.com/Talk.v10496F5B39E"><session type="initiate" id="638552700" initiator="onstategtalktest@gmail.com/Talk.v10496F5B39E" xmlns="http://www.google.com/session"><description xml:lang="en" xmlns="http://www.google.com/session/phone"><payload-type id="103" name="ISAC" clockrate="16000"/><payload-type id="97" name="IPCMWB" clockrate="16000" bitrate="80000"/><payload-type id="99" name="speex" clockrate="16000" bitrate="22000"/><payload-type id="4" name="G723" clockrate="8000" bitrate="6300"/><payload-type id="98" name="speex" clockrate="8000" bitrate="11000"/><payload-type id="100" name="EG711U" clockrate="8000" bitrate="64000"/><payload-type id="101" name="EG711A" clockrate="8000" bitrate="64000"/><payload-type id="0" name="PCMU" clockrate="8000" bitrate="64000"/><payload-type id="8" name="PCMA" clockrate="8000" bitrate="64000"/><payload-type id="13" name="CN" clockrate="8000"/><payload-type id="102" name="

JABBER: onstate INCOMING: iLBC" clockrate="8000" bitrate="13300"/><payload-type id="106" name="telephone-event" clockrate="8000"/></description><transport xmlns="http://www.google.com/transport/p2p"/></session></iq>

JABBER: onstate OUTGOING: <iq type='result' from='gateway1@on-state.com/Talk4F920D67' to='OnStateGTalkTest@gmail.com/Talk.v10496F5B39E' id='120'/>

JABBER: onstate OUTGOING: <iq from='gateway1@on-state.com/Talk4F920D67' to='OnStateGTalkTest@gmail.com/Talk.v10496F5B39E' type='set' id='aaaba'><session type='transport-accept' id='638552700' initiator='OnStateGTalkTest@gmail.com/Talk.v10496F5B39E' xmlns='http://www.google.com/session'><transport xmlns='http://www.google.com/transport/p2p'/></session></iq>
   -- Executing [gateway1@on-state.com@default:1] Goto("Gtalk/OnStateGTalkTest-317c", "s,1") in new stack
   -- Goto (default,s,1)
   -- Executing [s@default:1] Wait("Gtalk/OnStateGTalkTest-317c", "1") in new stack

JABBER: onstate OUTGOING: <iq from='gateway1@on-state.com/Talk4F920D67' to='OnStateGTalkTest@gmail.com/Talk.v10496F5B39E' type='set' id='aaabb'><session type='transport-info' id='638552700' initiator='OnStateGTalkTest@gmail.com/Talk.v10496F5B39E' xmlns='http://www.google.com/session'><transport xmlns='http://www.google.com/transport/p2p'><candidate name='rtp' address='71.174.102.59' port='18286' username='7e70b4f37a7ce7a7' password='569a15335f93ab76' preference='1.00' protocol='udp' type='local' network='0' generation='0'/></transport></session></iq>
mail2*CLI>
JABBER: onstate INCOMING: <iq to="gateway1@on-state.com/Talk4F920D67" type="set" id="122" from="OnStateGTalkTest@gmail.com/Talk.v10496F5B39E"><session type="transport-info" id="638552700" initiator="onstategtalktest@gmail.com/Talk.v10496F5B39E" xmlns="http://www.google.com/session"><transport xmlns="http://www.google.com/transport/p2p"><candidate name="rtp" address="192.168.10.122" port="2554" preference="1" username="anV7riYV1BJYjQTX" protocol="udp" generation="0" password="OU3fgeQq6gbVUA2U" type="local" network="0"/></transport></session></iq>

JABBER: onstate OUTGOING: <iq type='result' from='gateway1@on-state.com/Talk4F920D67' to='OnStateGTalkTest@gmail.com/Talk.v10496F5B39E' id='122'/>

JABBER: onstate INCOMING: <iq to="gateway1@on-state.com/Talk4F920D67" type="set" id="123" from="OnStateGTalkTest@gmail.com/Talk.v10496F5B39E"><session type="transport-info" id="638552700" initiator="onstategtalktest@gmail.com/Talk.v10496F5B39E" xmlns="http://www.google.com/session"><transport xmlns="http://www.google.com/transport/p2p"><candidate name="rtp" address="72.93.205.51" port="2555" preference="0.9" username="jrolAsiCG9Fb8cjD" protocol="udp" generation="0" password="0iKqyR/LRsHmjLsx" type="stun" network="0"/></transport></session></iq>

JABBER: onstate OUTGOING: <iq type='result' from='gateway1@on-state.com/Talk4F920D67' to='OnStateGTalkTest@gmail.com/Talk.v10496F5B39E' id='123'/>
mail2*CLI>
JABBER: onstate INCOMING: <iq to="gateway1@on-state.com/Talk4F920D67" id="aaaba" type="error" from="OnStateGTalkTest@gmail.com/Talk.v10496F5B39E"><session type="transport-accept" id="638552700" initiator="OnStateGTalkTest@gmail.com/Talk.v10496F5B39E" xmlns="http://www.google.com/session"><transport xmlns="http://www.google.com/transport/p2p"/></session><error type="modify"><sta:bad-request xmlns:sta="urn:ietf:params:xml:ns:xmpp-stanzas"/><sta:text xml:lang="en" xmlns:sta="urn:ietf:params:xml:ns:xmpp-stanzas">unknown session</sta:text></error></iq>
[Nov 27 17:38:31] NOTICE[21270]: chan_gtalk.c:1720 gtalk_parser: Remote peer reported an error, trying to establish the call anyway
mail2*CLI>
JABBER: onstate INCOMING: <iq to="gateway1@on-state.com/Talk4F920D67" id="aaabb" type="error" from="OnStateGTalkTest@gmail.com/Talk.v10496F5B39E"><session type="transport-info" id="638552700" initiator="OnStateGTalkTest@gmail.com/Talk.v10496F5B39E" xmlns="http://www.google.com/session"><transport xmlns="http://www.google.com/transport/p2p"><candidate name="rtp" address="71.174.102.59" port="18286" username="7e70b4f37a7ce7a7" password="569a15335f93ab76" preference="1.00" protocol="udp" type="local" network="0" generation="0"/></transport></session><error type="modify"><sta:bad-request xmlns:sta="urn:ietf:params:xml:ns:xmpp-stanzas"/><sta:text xml:lang="en" xmlns:sta="urn:ietf:params:xml:ns:xmpp-stanzas">unknown session</sta:text></error></iq>
[Nov 27 17:38:31] NOTICE[21270]: chan_gtalk.c:1720 gtalk_parser: Remote peer reported an error, trying to establish the call anyway
   -- Executing [s@default:2] Answer("Gtalk/OnStateGTalkTest-317c", "") in new stack

JABBER: onstate OUTGOING: <iq type='set' to='OnStateGTalkTest@gmail.com/Talk.v10496F5B39E' from='gateway1@on-state.com/Talk4F920D67' id='aaabc'><session xmlns='http://www.google.com/session' type='accept' initiator='OnStateGTalkTest@gmail.com/Talk.v10496F5B39E' id='638552700'><description xmlns='http://www.google.com/session/phone' xml:lang='en'><payload-type id='0' name='PCMU' clockrate='8000' bitrate='64000'/><payload-type id='100' name='EG711U' clockrate='8000' bitrate='64000'/><payload-type id='106' name='telephone-event' clockrate='8000'/></description><transport xmlns='http://www.google.com/transport/p2p'/></session></iq>
mail2*CLI>
JABBER: onstate INCOMING: <iq to="gateway1@on-state.com/Talk4F920D67" id="aaabc" type="error" from="OnStateGTalkTest@gmail.com/Talk.v10496F5B39E"><session type="accept" initiator="OnStateGTalkTest@gmail.com/Talk.v10496F5B39E" id="638552700" xmlns="http://www.google.com/session"><description xml:lang="en" xmlns="http://www.google.com/session/phone"><payload-type id="0" name="PCMU" clockrate="8000" bitrate="64000"/><payload-type id="100" name="EG711U" clockrate="8000" bitrate="64000"/><payload-type id="106" name="telephone-event" clockrate="8000"/></description><transport xmlns="http://www.google.com/transport/p2p"/></session><error type="modify"><sta:bad-request xmlns:sta="urn:ietf:params:xml:ns:xmpp-stanzas"/><sta:text xml:lang="en" xmlns:sta="urn:ietf:params:xml:ns:xmpp-stanzas">unknown session</sta:text></error></iq>
[Nov 27 17:38:32] NOTICE[21270]: chan_gtalk.c:1720 gtalk_parser: Remote peer reported an error, trying to establish the call anyway
   -- Executing [s@default:3] Set("Gtalk/OnStateGTalkTest-317c", "TIMEOUT(digit)=5") in new stack
   -- Digit timeout set to 5
   -- Executing [s@default:4] Set("Gtalk/OnStateGTalkTest-317c", "TIMEOUT(response)=10") in new stack
   -- Response timeout set to 10
   -- Executing [s@default:5] BackGround("Gtalk/OnStateGTalkTest-317c", "demo-congrats") in new stack
   -- <Gtalk/OnStateGTalkTest-317c> Playing 'demo-congrats.ulaw' (language 'en')

JABBER: onstate INCOMING: <iq to="gateway1@on-state.com/Talk4F920D67" type="set" id="127" from="OnStateGTalkTest@gmail.com/Talk.v10496F5B39E"><session type="terminate" id="638552700" initiator="onstategtalktest@gmail.com/Talk.v10496F5B39E" xmlns="http://www.google.com/session"/></iq>

JABBER: onstate OUTGOING: <iq type='result' from='gateway1@on-state.com/Talk4F920D67' to='OnStateGTalkTest@gmail.com/Talk.v10496F5B39E' id='127'/>
 == Spawn extension (default, s, 5) exited non-zero on 'Gtalk/OnStateGTalkTest-317c'
mail2*CLI>
Comments:By: John Covert (jcovert) 2008-11-29 22:26:56.000-0600

Additional info:

Although all my previously attempted accounts are unable to make incoming calls to Asterisk, a new account was created today which can.  The others still cannot, and this is, of course with Asterisk configured exactly the same way, on two different asterisk servers (linux and Mac OS X).  Both accounts were logged in (at different times) using the same Windoze Gtalk client.  No idea what's different.  One server is logged in as gateway1@on-state.com, the other server is logged in as onstategtalkserver1@gmail.com.  Both servers work with the client account below, neither server works with the client account above.

blade14*CLI>
JABBER: onstate INCOMING: <iq to="gateway1@on-state.com/Talk8B5D3438" type="set" id="31" from="gtalktest@on-state.com/Talk.v1041002815A"><session type="initiate" id="2538670317" initiator="gtalktest@on-state.com/Talk.v1041002815A" xmlns="http://www.google.com/session"><description xml:lang="en" xmlns="http://www.google.com/session/phone"><payload-type id="103" name="ISAC" clockrate="16000"/><payload-type id="97" name="IPCMWB" clockrate="16000" bitrate="80000"/><payload-type id="99" name="speex" clockrate="16000" bitrate="22000"/><payload-type id="4" name="G723" clockrate="8000" bitrate="6300"/><payload-type id="98" name="speex" clockrate="8000" bitrate="11000"/><payload-type id="100" name="EG711U" clockrate="8000" bitrate="64000"/><payload-type id="101" name="EG711A" clockrate="8000" bitrate="64000"/><payload-type id="0" name="PCMU" clockrate="8000" bitrate="64000"/><payload-type id="8" name="PCMA" clockrate="8000" bitrate="64000"/><payload-type id="13" name="CN" clockrate="8000"/><payload-type id="102" name="iLBC"

JABBER: onstate INCOMING: clockrate="8000" bitrate="13300"/><payload-type id="106" name="telephone-event" clockrate="8000"/></description><transport xmlns="http://www.google.com/transport/p2p"/></session></iq>

JABBER: onstate OUTGOING: <iq type='result' from='gateway1@on-state.com/Talk8B5D3438' to='gtalktest@on-state.com/Talk.v1041002815A' id='31'/>

JABBER: onstate OUTGOING: <iq from='gateway1@on-state.com/Talk8B5D3438' to='gtalktest@on-state.com/Talk.v1041002815A' type='set' id='aaabp'><session type='transport-accept' id='2538670317' initiator='gtalktest@on-state.com/Talk.v1041002815A' xmlns='http://www.google.com/session'><transport xmlns='http://www.google.com/transport/p2p'/></session></iq>
 == Starting Gtalk/gtalktest-1624 at default,gateway1@on-state.com,1 failed so falling back to exten 's'
   -- Executing [s@default:1] Wait("Gtalk/gtalktest-1624", "1") in new stack

JABBER: onstate OUTGOING: <iq from='gateway1@on-state.com/Talk8B5D3438' to='gtalktest@on-state.com/Talk.v1041002815A' type='set' id='aaabq'><session type='transport-info' id='2538670317' initiator='gtalktest@on-state.com/Talk.v1041002815A' xmlns='http://www.google.com/session'><transport xmlns='http://www.google.com/transport/p2p'><candidate name='rtp' address='69.84.144.215' port='18358' username='2c2afd825859d0fa' password='20bcf78b3a9f8fa8' preference='1.00' protocol='udp' type='local' network='0' generation='0'/></transport></session></iq>
blade14*CLI>
JABBER: onstate INCOMING: <iq to="gateway1@on-state.com/Talk8B5D3438" type="set" id="34" from="gtalktest@on-state.com/Talk.v1041002815A"><session type="transport-info" id="2538670317" initiator="gtalktest@on-state.com/Talk.v1041002815A" xmlns="http://www.google.com/session"><transport xmlns="http://www.google.com/transport/p2p"><candidate name="rtp" address="192.168.10.122" port="4295" preference="1" username="gRU9Yup0Jal7InlF" protocol="udp" generation="0" password="JErf4DOTFgwN/+v8" type="local" network="0"/><candidate name="rtp" address="10.48.129.71" port="4298" preference="1" username="tEowvhrdJt10hMsV" protocol="udp" generation="0" password="pvJo8eJAp2lEOtFQ" type="local" network="1"/></transport></session></iq>

JABBER: onstate OUTGOING: <iq type='result' from='gateway1@on-state.com/Talk8B5D3438' to='gtalktest@on-state.com/Talk.v1041002815A' id='34'/>
blade14*CLI>
JABBER: onstate INCOMING: <iq to="gateway1@on-state.com/Talk8B5D3438" id="aaabp" type="result" from="gtalktest@on-state.com/Talk.v1041002815A"/>
blade14*CLI>
JABBER: onstate INCOMING: <iq to="gateway1@on-state.com/Talk8B5D3438" id="aaabq" type="result" from="gtalktest@on-state.com/Talk.v1041002815A"/>
   -- Executing [s@default:2] Answer("Gtalk/gtalktest-1624", "") in new stack
blade14*CLI>
JABBER: onstate OUTGOING: <iq type='set' to='gtalktest@on-state.com/Talk.v1041002815A' from='gateway1@on-state.com/Talk8B5D3438' id='aaabr'><session xmlns='http://www.google.com/session' type='accept' initiator='gtalktest@on-state.com/Talk.v1041002815A' id='2538670317'><description xmlns='http://www.google.com/session/phone' xml:lang='en'><payload-type id='0' name='PCMU' clockrate='8000' bitrate='64000'/><payload-type id='100' name='EG711U' clockrate='8000' bitrate='64000'/><payload-type id='106' name='telephone-event' clockrate='8000'/></description><transport xmlns='http://www.google.com/transport/p2p'/></session></iq>
blade14*CLI>
JABBER: onstate INCOMING: <iq to="gateway1@on-state.com/Talk8B5D3438" type="set" id="37" from="gtalktest@on-state.com/Talk.v1041002815A"><session type="transport-info" id="2538670317" initiator="gtalktest@on-state.com/Talk.v1041002815A" xmlns="http://www.google.com/session"><transport xmlns="http://www.google.com/transport/p2p"><candidate name="rtp" address="74.125.47.126" port="19295" preference="0.5" username="MOq8IpdWH88mZOA5" protocol="udp" generation="0" password="DVWFHzO2pHJaYIyE" type="relay" network="1"/></transport></session></iq>

JABBER: onstate OUTGOING: <iq type='result' from='gateway1@on-state.com/Talk8B5D3438' to='gtalktest@on-state.com/Talk.v1041002815A' id='37'/>
blade14*CLI>
JABBER: onstate INCOMING: <iq to="gateway1@on-state.com/Talk8B5D3438" id="aaabr" type="result" from="gtalktest@on-state.com/Talk.v1041002815A"/>
   -- Executing [s@default:3] Set("Gtalk/gtalktest-1624", "TIMEOUT(digit)=5") in new stack
   -- Digit timeout set to 5
   -- Executing [s@default:4] Set("Gtalk/gtalktest-1624", "TIMEOUT(response)=10") in new stack
   -- Response timeout set to 10
   -- Executing [s@default:5] BackGround("Gtalk/gtalktest-1624", "demo-congrats") in new stack
   -- <Gtalk/gtalktest-1624> Playing 'demo-congrats.ulaw' (language 'en')

By: John Covert (jcovert) 2008-11-29 22:46:41.000-0600

I think I see the problem.

Asterisk's outgoing messages respond with "initiator=" set to the value in the "from" field of the incoming messages rather than to the value of the "initiator=" of the incoming messages.  "From" and "initiator" are not necessarily the same; in particular, the "from=" seems to have mixed case for some Google accounts, whereas the "initiator=" is all lowercase on the original message from Google.  The response "initiator" doesn't match, and this is probably causing Google to fail to match the session, resulting in the "unknown session" error message.

The reason the newer account works is that it was set up all lower case.

Looks like Asterisk should be sending the incoming "initiator" back as the outgoing "initiator", and the incoming "from" back as the outgoing "to".

/john

By: John Covert (jcovert) 2008-11-30 08:48:34.000-0600

I verified my hypothesis.

I implemented a temporary hack, downcasing the string sent in each of the calls to

iks_insert_attrib(..., "initiator", ...);

incoming calls began working just fine.

Of course, that's not what you really want to do in a real patch; the actual initiator string on the original request needs to be stored and used.

/john

By: phsultan (phsultan) 2008-12-11 13:35:03.000-0600

John, this is perfectly acceptable as a patch. The GoogleTalk client should not consider the mixed case bare JID to be different than its lower case version.

Only the resource part of the JID should be considered different depending on lower/upper case.

By: John Covert (jcovert) 2008-12-11 15:40:22.000-0600

Well, just to save you time, here's my patch.  I don't suggest using it directly; it was written to test, since I was assuming that the initiator in the incoming message would actually have to be stored to be used as the outbound initiator.  This simply downcases the from or to field, as appropriate, and sends it back.  It also allocates a fixed area of 255 bytes, which is not optimum.

But having it might save you time.

/john

By: phsultan (phsultan) 2009-01-09 08:14:37.000-0600

Hi John,

Can you please try this patch? It will set the initiator attribute to lower case if Asterisk receives the call.

Thanks!

By: John Covert (jcovert) 2009-01-09 12:07:32.000-0600

No, your patch does not work.

It sends initiator='/Talk.v1047A074719'

The main problem is with the line below, or similar lines you used:

while ((lowerto != strchr(lowerto, '/')) && (*lowerto++ = tolower(*to++)));

This modifies 'lowerto' and leaves it pointing to the '/', making it unsuitable when building the message.

You need to avoid losing the pointer to the duplicated string to use when you build the message. This is best done with a local variable right inside the block that moves the data, so that it isn't even allocated unless needed (most compilers will optimize it into an available register).

And as long as I'm revising your patch, two important changes for efficiency:

(1) By using strchr(lowerto, '/') you repeatedly execute strchr to search shorter and shorter segments of the original string for '/' instead of just comparing the current character.

(2) Since you've already duplicated the string with ast_strdupa, in the call to "tolower" you can reference the character just checked for "/" (which is probably available in a register) rather than maintaining and incrementing another pointer, fetching a separate byte (which on some machines is expensive) and possibly doing a cache flush because of accessing a totally different area of memory.  (Sorry, but I spent 18 years in the OpenVMS operating system group where we care about every machine cycle.)

And finally you need a #include <ctype.h> because of tolower.

I've uploaded a new patch which I have tested.

/john

By: phsultan (phsultan) 2009-01-09 12:22:52.000-0600

Mmh, sorry for not having checked and tested that more in depth. I will commit your patch soon, thanks!

By: Digium Subversion (svnbot) 2009-02-12 04:16:21.000-0600

Repository: asterisk
Revision: 175029

U   branches/1.4/channels/chan_gtalk.c

------------------------------------------------------------------------
r175029 | phsultan | 2009-02-12 04:16:21 -0600 (Thu, 12 Feb 2009) | 12 lines

Set the initiator attribute to lowercase in our replies when receiving calls.

This attribute contains a JID that identifies the initiator of the GoogleTalk
voice session. The GoogleTalk client discards Asterisk's replies if the
initiator attribute contains uppercase characters.

(closes issue ASTERISK-13133)
Reported by: jcovert
Patches:
     chan_gtalk.2.patch uploaded by jcovert (license 551)
Tested by: jcovert

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=175029

By: Digium Subversion (svnbot) 2009-02-12 04:31:50.000-0600

Repository: asterisk
Revision: 175058

_U  trunk/
U   trunk/channels/chan_gtalk.c

------------------------------------------------------------------------
r175058 | phsultan | 2009-02-12 04:31:49 -0600 (Thu, 12 Feb 2009) | 20 lines

Merged revisions 175029 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r175029 | phsultan | 2009-02-12 11:16:21 +0100 (Thu, 12 Feb 2009) | 12 lines

Set the initiator attribute to lowercase in our replies when receiving calls.

This attribute contains a JID that identifies the initiator of the GoogleTalk
voice session. The GoogleTalk client discards Asterisk's replies if the
initiator attribute contains uppercase characters.

(closes issue ASTERISK-13133)
Reported by: jcovert
Patches:
     chan_gtalk.2.patch uploaded by jcovert (license 551)
Tested by: jcovert

........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=175058

By: Digium Subversion (svnbot) 2009-02-12 04:42:03.000-0600

Repository: asterisk
Revision: 175059

_U  branches/1.6.0/
U   branches/1.6.0/channels/chan_gtalk.c

------------------------------------------------------------------------
r175059 | phsultan | 2009-02-12 04:42:03 -0600 (Thu, 12 Feb 2009) | 28 lines

Merged revisions 175058 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r175058 | phsultan | 2009-02-12 11:31:36 +0100 (Thu, 12 Feb 2009) | 20 lines

Merged revisions 175029 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r175029 | phsultan | 2009-02-12 11:16:21 +0100 (Thu, 12 Feb 2009) | 12 lines

Set the initiator attribute to lowercase in our replies when receiving calls.

This attribute contains a JID that identifies the initiator of the GoogleTalk
voice session. The GoogleTalk client discards Asterisk's replies if the
initiator attribute contains uppercase characters.

(closes issue ASTERISK-13133)
Reported by: jcovert
Patches:
     chan_gtalk.2.patch uploaded by jcovert (license 551)
Tested by: jcovert

........

................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=175059

By: Digium Subversion (svnbot) 2009-09-15 16:54:43

Repository: asterisk
Revision: 218727

_U  branches/1.6.1/
U   branches/1.6.1/channels/chan_gtalk.c

------------------------------------------------------------------------
r218727 | tilghman | 2009-09-15 16:54:41 -0500 (Tue, 15 Sep 2009) | 44 lines

Merged revisions 139281,175058,175089 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
(closes issue ASTERISK-13134)

................
 r139281 | phsultan | 2008-08-21 04:55:31 -0500 (Thu, 21 Aug 2008) | 5 lines
 
 Fix two memory leaks in chan_gtalk, thanks Eliel!
 (closes issue ASTERISK-12586)
 Reported by: eliel
 Patches:
       chan_gtalk.c.patch uploaded by eliel (license 64)
................
 r175058 | phsultan | 2009-02-12 04:31:36 -0600 (Thu, 12 Feb 2009) | 20 lines
 
 Merged revisions 175029 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4
 
 ........
 r175029 | phsultan | 2009-02-12 11:16:21 +0100 (Thu, 12 Feb 2009) | 12 lines
 
 Set the initiator attribute to lowercase in our replies when receiving calls.
 
 This attribute contains a JID that identifies the initiator of the GoogleTalk
 voice session. The GoogleTalk client discards Asterisk's replies if the
 initiator attribute contains uppercase characters.
 
 (closes issue ASTERISK-13133)
 Reported by: jcovert
 Patches:
       chan_gtalk.2.patch uploaded by jcovert (license 551)
 Tested by: jcovert
 
 ........
................
 r175089 | phsultan | 2009-02-12 08:25:03 -0600 (Thu, 12 Feb 2009) | 6 lines
 
 Issue a warning message if our candidate's IP is the loopback address.
 
 (closes issue ASTERISK-13134)
 Reported by: jcovert
 Tested by: phsultan
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=218727