[asterisk-bugs] [JIRA] (ASTERISK-21203) res_xmpp socket error: takes upto 19 minutes to restore xmpp socket connection to google

Matt Jordan (JIRA) noreply at issues.asterisk.org
Tue Mar 12 09:28:01 CDT 2013


    [ https://issues.asterisk.org/jira/browse/ASTERISK-21203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=204129#comment-204129 ] 

Matt Jordan commented on ASTERISK-21203:
----------------------------------------

First, I'm not sure I'd call this a bug. Google apparently changed the IP address out from under Asterisk in the middle of a call - and although I could be mistaken, I don't see anything informing Asterisk of the new RTP destination.

You can see where Google informed Asterisk initially where to send the call:

{noformat}
[2013-02-13 09:01:44] DEBUG[2903][C-0000000c] logger.c: Call_ID [C-0000000c] being removed from thread.
[2013-02-13 09:01:45] VERBOSE[2898] res_xmpp.c: 
<--- XMPP received from 'google' --->
<iq to="myuserid at gmail.com/asterisk-x1297FE8D" from="+13475551212 at voice.google.com/srvres-MTAuMjIwLjIyNi4xOTM6OTgzNg==" id="aaael" type="result"/>
<------------->
[2013-02-13 09:01:45] DEBUG[2898] res_xmpp.c: XML parsing successful
[2013-02-13 09:01:45] VERBOSE[2898] res_xmpp.c: 
<--- XMPP received from 'google' --->
<iq from="+13475551212 at voice.google.com/srvres-MTAuMjIwLjIyNi4xOTM6OTgzNg=="
    to="myuserid at gmail.com/asterisk-x1297FE8D"
    id="jingle:10.220.226.193-11467418:1:CB2823BE" type="set">
    <ses:session type="candidates" id="SIP1662940797 at 10.221.5.195"
                 initiator="+13475551212 at voice.google.com/srvres-MTAuMjIwLjIyNi4xOTM6OTgzNg=="
                 xmlns:ses="http://www.google.com/session">
        <ses:candidate name="rtp"
                       address="74.125.135.127"
                       port="19305"
                       username="9DD85EE42FE277FD"
                       preference="3.0"
                       protocol="udp"
                       network="mediaproxy"
                       generation="0"
                       password=""
                       type="relay"/>
        <ses:candidate name="rtp"
                       address="74.125.135.127"
                       port="19305"
                       username="9DD85EE42FE277FD"
                       preference="2.0"
                       protocol="tcp"
                       network="mediaproxy"
                       generation="0"
                       password=""
                       type="relay"/>
        <ses:candidate name="rtp"
                       address="74.125.135.127"
                       port="443"
                       username="9DD85EE42FE277FD"
                       preference="1.0"
                       protocol="ssltcp"
                       network="mediaproxy"
                       generation="0"
                       password=""
                       type="relay"/>
    </ses:session>
</iq>
<------------->
[2013-02-13 09:01:45] DEBUG[2898][C-0000000c] logger.c: CALL_ID [C-0000000c] bound to thread.
{noformat}

Google doesn't send us an update of candidates. It doesn't tell us when it decides to switch the RTP address - so unfortunately, there doesn't appear to be any action we can take as we don't know where to send the media to.

As it is, I don't see a whole lot we can do here, even as an improvement.
                
> res_xmpp socket error: takes upto 19 minutes to restore xmpp socket connection to google
> ----------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-21203
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-21203
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_xmpp
>    Affects Versions: 11.3.0
>         Environment: Linux OpenWrt 3.7.5 #2 Wed Feb 6 20:40:48 EST 2013 mips GNU/Linux
>            Reporter: Chirag Chhatriwala
>         Attachments: messages
>
>
> 11.3.0-rc1 addresses a problem in which if a res_xmpp connection becomes stale (network interruption/IP address change), the res_xmpp performs a reconnect and the filters are also refreshed to make sure it responds to jingle/chan_motif signalling.
> Now, it takes about 18-20 minutes to recover from a network outage. I.e. IP Address change. There doesn't seem to be any way to minimize the time before the following message:
> [2013-03-02 09:18:13] WARNING[15652][C-00000026] res_rtp_asterisk.c: RTP Transmission error of packet to 74.125.135.127:19305: Network is unreachable
> [2013-03-02 09:18:13] WARNING[15652][C-00000026] res_rtp_asterisk.c: RTP Transmission error of packet to 74.125.135.127:19305: Network is unreachable
> [2013-03-02 09:18:13] WARNING[15652][C-00000026] res_rtp_asterisk.c: RTP Transmission error of packet to 74.125.135.127:19305: Network is unreachable
> [2013-03-02 09:36:29] WARNING[2872] res_xmpp.c: JABBER: socket read error
> I have a log file which is about 21.6MB in size so I'm not uploading it here just as yet.
> I have a smaller log file which does show this time difference of 18+ minutes as well. The file shows that a google voice call gets interrupted (as a result of IP renewal resulting in a changed IP) and then the jabber socket read error appears around 18+ minutes later.
> This is indicative of all IP Address renewals.
> In the above, the time between 09:18:13 and 09:36:29, any outbound calls [through google voice] do not work and any inbound calls [through google voice] do not terminate on my SIP phone. After, 09:36:29, everything works as it should. I'm trying to minimize this window where the connection is in limbo.
> Please help.
> Thanks,
> Chirag

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list