Hi All.
I really need some help here. Attached is a call log between my ser-0.9.1 sip proxy and a third party Sonus PSTN gateway.
The call was originated on a SIP phone so the Sonus gateway sends re-INVITE messages during the call.
The problem is that the re-INIVITE is not properly processed and therefore the PSTN gateway sends a BYE message (not shown).
I'm using Juha's LCR module because we have multiple PSTN gateways.
Anyhow, it seems like this is happening:
INVITE sent to PSTN gateway PSTN GW sends 180 Ringing PSTN GW sends 200 OK, which is sent to the SIP UA SIP UA replied with ACK, which is sent to the PSTN GW Time Elapses PSTN GW sends re-INVITE, which is sent to the SIP UA SIP UA replies with 200 OK, which is sent to the PSTN GW PSTN GW sends another re-INVITE PSTN GW sends an ACK, which is sent to the SIP UA re-INVITE (received immediated before the ACK) is sent to the SIP UA
And the call falls apart from here.
It's like some sort of timing issue where another INIVITE is recieved before the ACK. My timers in ser.cfg are as follows:
modparam("tm", "fr_timer", 22) modparam("tm", "fr_inv_timer", 27) modparam("tm", "wt_timer", 5) modparam("tm", "fr_inv_timer_avp", "inv_timeout")
Can anyone give a pointer please? I'm 100% lost on this one.
Regards, Paul
Hi Paul!
Java Rockx wrote:
INVITE sent to PSTN gateway PSTN GW sends 180 Ringing PSTN GW sends 200 OK, which is sent to the SIP UA SIP UA replied with ACK, which is sent to the PSTN GW Time Elapses PSTN GW sends re-INVITE, which is sent to the SIP UA SIP UA replies with 200 OK, which is sent to the PSTN GW PSTN GW sends another re-INVITE
This is a retransmission - apparently the response needed more then 0.5s. But the Gateway shouldn't send retransmissions, as it already received a 100 Trying. (Does the 100 trying really hit the gateway?)
PSTN GW sends an ACK, which is sent to the SIP UA re-INVITE (received immediated before the ACK) is sent to the SIP UA
The SIP proxy shouldn't forward the INVITE as he already received the 200 Ok. Strange things are happening.
regards, klaus
Klaus,
What would prevent ser from sending the INVITE for which a 200OK as already been received? Is this something in ser.cfg or is it something internal to the ser core?
Regards, Paul
On Tue, 15 Mar 2005 16:44:55 +0100, Klaus Darilion klaus.mailinglists@pernau.at wrote:
Hi Paul!
Java Rockx wrote:
INVITE sent to PSTN gateway PSTN GW sends 180 Ringing PSTN GW sends 200 OK, which is sent to the SIP UA SIP UA replied with ACK, which is sent to the PSTN GW Time Elapses PSTN GW sends re-INVITE, which is sent to the SIP UA SIP UA replies with 200 OK, which is sent to the PSTN GW PSTN GW sends another re-INVITE
This is a retransmission - apparently the response needed more then 0.5s. But the Gateway shouldn't send retransmissions, as it already received a 100 Trying. (Does the 100 trying really hit the gateway?)
PSTN GW sends an ACK, which is sent to the SIP UA re-INVITE (received immediated before the ACK) is sent to the SIP UA
The SIP proxy shouldn't forward the INVITE as he already received the 200 Ok. Strange things are happening.
regards, klaus
This should be handled internally. As soon as the retransmitted INVITE hits the tm functions (t_newtran, t_relay) it should be absorbed.
klaus
Java Rockx wrote:
Klaus,
What would prevent ser from sending the INVITE for which a 200OK as already been received? Is this something in ser.cfg or is it something internal to the ser core?
Regards, Paul
On Tue, 15 Mar 2005 16:44:55 +0100, Klaus Darilion klaus.mailinglists@pernau.at wrote:
Hi Paul!
Java Rockx wrote:
INVITE sent to PSTN gateway PSTN GW sends 180 Ringing PSTN GW sends 200 OK, which is sent to the SIP UA SIP UA replied with ACK, which is sent to the PSTN GW Time Elapses PSTN GW sends re-INVITE, which is sent to the SIP UA SIP UA replies with 200 OK, which is sent to the PSTN GW PSTN GW sends another re-INVITE
This is a retransmission - apparently the response needed more then 0.5s. But the Gateway shouldn't send retransmissions, as it already received a 100 Trying. (Does the 100 trying really hit the gateway?)
PSTN GW sends an ACK, which is sent to the SIP UA re-INVITE (received immediated before the ACK) is sent to the SIP UA
The SIP proxy shouldn't forward the INVITE as he already received the 200 Ok. Strange things are happening.
regards, klaus
Ahhh, the problem has been somewhat identified.
As soon as I removed Juha's LCR module from my ser-0.9.1 configuration all worked 100% properly :-(
Now I need to try and understand what it is doing.
Regards, Paul
On Tue, 15 Mar 2005 17:08:04 +0100, Klaus Darilion klaus.mailinglists@pernau.at wrote:
This should be handled internally. As soon as the retransmitted INVITE hits the tm functions (t_newtran, t_relay) it should be absorbed.
klaus
Java Rockx wrote:
Klaus,
What would prevent ser from sending the INVITE for which a 200OK as already been received? Is this something in ser.cfg or is it something internal to the ser core?
Regards, Paul
On Tue, 15 Mar 2005 16:44:55 +0100, Klaus Darilion klaus.mailinglists@pernau.at wrote:
Hi Paul!
Java Rockx wrote:
INVITE sent to PSTN gateway PSTN GW sends 180 Ringing PSTN GW sends 200 OK, which is sent to the SIP UA SIP UA replied with ACK, which is sent to the PSTN GW Time Elapses PSTN GW sends re-INVITE, which is sent to the SIP UA SIP UA replies with 200 OK, which is sent to the PSTN GW PSTN GW sends another re-INVITE
This is a retransmission - apparently the response needed more then 0.5s. But the Gateway shouldn't send retransmissions, as it already received a 100 Trying. (Does the 100 trying really hit the gateway?)
PSTN GW sends an ACK, which is sent to the SIP UA re-INVITE (received immediated before the ACK) is sent to the SIP UA
The SIP proxy shouldn't forward the INVITE as he already received the 200 Ok. Strange things are happening.
regards, klaus