Hello,
I am using openser v1.0.
I have a problem with the following SIP scenario with openser:
- A invites B to a call session, B declines the invitation
The message trace shown below is just part of the message trace produced for the above scenario displaying message frames in sequence F43, F44 ... through F64
Initially everything works as expected: INVITEs, Trying (100) and Ringing 180 messages are routed correctly from A to B and from B to A via the intermediate proxies (this is not shown below). While still 'Ringing', B decline's the call (sends a Decline message) message: F44 in trace below. This also initally routes OK.
But the call flow for this scenario is expected to terminate at message: F55 once the 'Decline' has routed its way back from the B-Party to the A-Party and a final 'ACK' is sent by the A-Party to the previous proxy: Proxy-1.
But what actually occurs is that openser running on Proxy-1 automatically resends a 'Decline' at message F56 identical to the 'Decline' it first sent at message F46. This in turn prompts further ACKs and 'Decline's until it finally times out at message F107 (not shown below).
It appears that openser saves the original message and attempts to retry/resend the 'Decline' message when prompted by an ACK. This continues for several cycles with ACKs and Decline's being sent and received around the system until a timeout occurs.
The above behaviour also occurs for the following scenario:
- A invites B to a call session, B responds with a Busy
Can you help me to:
- understand what is going on
- terminate what appears to be an open 'transaction' for the 'Decline' and prevent further 'Decline's and ACKs being sent around the system.
Best regards,
Andrew
--------------
A-Party Proxy-1 Proxy-2 Proxy-3 B-Party
10.1.195.134:50 10.1.195.134:50 127.0.0.1:5070 127.0.0.1:5080 10.1.195.208:50
| | | | |
|<nging 180 F43<| | | |
| | | | |
| |<----------------------------- Decline 603 F44<|
| | | | |
| |>F45 ACK ------------------------------------->|
| | | | |
| |>F46 603 Decline ------------->| |
| | | | |
| |<--------------------- ACK F47<| |
| | | | |
| | |<cline 603 F48<| |
| | | | |
| | |>F49 ACK ----->| |
| | | | |
| | |>F50 603 Decli>| |
| | | | |
| | |<----- ACK F51<| |
| | | | |
| |<------------- Decline 603 F52<| |
| | | | |
| |>F53 ACK --------------------->| |
| | | | |
|<cline 603 F54<| | | |
| | | | |
|>F55 ACK ----->| | | |
| | | | |
| |>F56 603 Decline ------------->| |
| | | | |
| |<--------------------- ACK F57<| |
| | | | |
|<cline 603 F58<| | | |
| | | | |
|>F59 ACK ----->| | | |
| | | | |
| |>F60 603 Decline ------------->| |
| | | | |
| |<--------------------- ACK F61<| |
| | | | |
|<cline 603 F62<| | | |
| | | | |
|>F63 ACK ----->| | | |
| | | | |
| |>F64 603 Decline ------------->| |
| | | | |