James Lamanna wrote: > Hi, > I have a strange problem. At a site where there are 20+ phones, there > is one phone that cannot make outbound (to PSTN) calls. > Each call is dropped after 20s with "no response to our critical packet". > Calls to voicemail and internal extensions work fine. > > I understand that everything points to a NAT problem, but I don't > understand how it could be because: > 1) It does not affect calls to internal office extensions (which still > go through asterisk) OR voicemail > 2) The other 20+ phones in the same office on the same network have 0 > problems. > > Here's a SIP trace of the problem. > yyy.yyy.yyy.yyy is the outside NAT IP > xxx.xxx.xxx.xxx is the IP of my PBX > dddddddddd is the dialed phone number > sssssssssss is the source phone number > > The peculiar thing is that asterisk sends an OK in response to an INVITE, > then the phone sends back an ACK, which asterisk seems to ignore > because it retransmits the OK message again > Then eventually the phone gives up and sends a BYE message. > > -- James >
I think I know what the problem is here. It's not the fault of the phone, but of Asterisk. The phone is sending an INVITE and then an INFO (DTMF '#', specifically) to Asterisk. Asterisk only keeps track of the last incoming Cseq in a dialog, so once the INFO arrives, we no longer have any memory of the Cseq of the INVITE that the phone sent. Later, we send a 200 OK response for the INVITE. Then, when we receive the ACK from the phone, we drop it since it's Cseq is less than the latest Cseq we received in this dialog. As a result, Asterisk never realizes that it has received the ACK. Asterisk continues retransmitting a 200 OK to the phone and the phone dutifully keeps sending an ACK in response until Asterisk has retransmitted the maximum amount of times. There are a couple of potential ways of solving this issue. One is to add an Answer to your dialplan as the first priority. This way, the INVITE is completely answered before the phone ever sends any INFO requests. Another is to switch the phone away from using INFO to transmit DTMF. I would be willing to bet that the other phones on your network are not using INFO for transmission of DTMF, and so they are not experiencing the same issue. Mark Michelson _______________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
