Hello all, Over the weekend, I setup and linked an Asterisk box at another site to the Asterisk box here. The phones here are a mixture of Cisco 7940/7960 and Grandstream BT-100 phones. The phones at the other end are Grandstream BT-100 SIP phones. The Cisco phones run SIP 7.1 (upgraded last Friday from 6.1), the Grandstream phones run 1.0.4.68. Both Asterisk boxes are running stable CVS "CVS-06/07/04-16:18:54". The phones all use G711u to their respective Asterisk boxes. GSM is used between the Asterisk boxes. The boxes are 60ms apart. When on a call, the quality of the call is perfect. I've spent around 3 hours over 2 days on calls between the two systems. Today when I was on a call I noticed by accident that if you press a button (1 through 0 and */#) the call drops out after a few seconds. With the help of a colleague at the remote site we discovered the following: Grandstream <-> Asterisk <-> IAX <-> Asterisk <-> Grandstream. Any phone presses button, the call drops out. Cisco <-> Asterisk <-> IAX <-> Asterisk <-> Grandstream. Cisco presses button, call drops out. Grandstream presses button, call doesn't drop out. It doesn't seem to matter which side originated the call. What can be seen with SIP debug is 5 of these: Retransmitting #1 (no NAT): INFO sip:7300@192.168.0.254 SIP/2.0 Via: SIP/2.0/UDP 192.168.0.1:5060;branch=z9hG4bK0549e133 From: "Shaun Ewing" <sip:7011@192.168.0.1>;tag=as3dbbd61d To: <sip:7300@192.168.0.254>;tag=ba97574145fedb8a Contact: <sip:7011@192.168.0.1> Call-ID: 5f3fb48b72348c2243355b793185e569@192.168.0.1 CSeq: 104 INFO User-Agent: Asterisk PBX Content-Type: application/dtmf-relay Content-Length: 24 Signal=7 Duration=250 I$P to 192.168.0.254:5060 We then get something like: Jun 7 14:34:06 WARNING[1125329600]: chan_sip.c:497 retrans_pkt: Maximum retries exceeded on call 5f3fb48b72348c2243355b793185e569@192.168.0.1 for seqno 103 (Request) set_destination: Parsing <sip:7300@192.168.0.254;user=phone> for address/port to send to set_destination: set destination to 192.168.0.254, port 5060 Reliably Transmitting: BYE sip:7300@192.168.0.254 SIP/2.0 Via: SIP/2.0/UDP 192.168.0.1:5060;branch=z9hG4bK0549e133 From: "Shaun Ewing" <sip:7011@192.168.0.1>;tag=as3dbbd61d To: <sip:7300@192.168.0.254>;tag=ba97574145fedb8a Contact: <sip:7011@192.168.0.1> Call-ID: 5f3fb48b72348c2243355b793185e569@192.168.0.1 CSeq: 105 BYE User-Agent: Asterisk PBX Content-Length: 0 All the other debug bits indicate that the call terminated normally. I was wondering if anybody had experienced anything like this before? Regards, Shaun
Holger Schurig
2004-Jun-07 13:08 UTC
[Asterisk-Users] Re: IAX calls dropout on button press
Grandstream Phones do have a bug where they sometimes send an UDP packet to port 0 instead of port 5060. The effect is that you see 5 times the error message WARNING4101: chan_sip.c:601 retrans_pkt: Maximum retries exceeded on call 1c4b33fae3ec4116@192.168.233.67 for seqno 22209 (Critical Response) on the asterisk box, because Asterisk sends some Command to the BudgetTone, and the Budgettone answers, but to port 0. So Asterisk retries ... up to 5 times. See http://www.voip-info.org/wiki-Asterisk+phone+grandstream+budgetone under "Early Dial" (althought the bug appears with other SIP traffic as well). For a crude fix, you can use the IP port redirection of Linux: iptables -t nat -A PREROUTING -p udp -i eth0 --dport 0 -j REDIRECT --to-port 5060 -- http://www.holgerschurig.de