Skip to content
Advertisement

Why sometimes Jain Sip return “481 Call Leg/Transaction Does Not Exist” on received bye?

Using jain sip to create sip proxy app.
client A -> proxy app -> client B
In case A call B: A can hangup, but when B send BYE sometime Jain Sip return 481 call leg to B.
When the call end in seconds, it can BYE success.
But if the call end in minutes, when B send BYE, Jain sip return 481 call leg.
And the caller client A always BYE success.

already check the call-id, request uri, from, to tag. Still no idea.

Here is the LOG

JavaScript

getServerTransaction code when auto-dialogs are off. st is null, but still exception when getNewServerTransaction.

JavaScript

Advertisement

Answer

If you are receiving 481 from jsip that suggests you are trying to look up a dialog when you receive the BYE and it probably doesn’t exist at this point. When jsip is a proxy you should not have any jsip dialogs.

Proxy applications in jsip shouldn’t rely on jsip dialogs and must maintain their own dialog state (or not for stateless proxies). Proxies should always be implemented in a dialog-stateless mode which basically means to avoid creating any dialogs. You can see a general example here https://github.com/usnistgov/jsip/blob/master/src/examples/forked/invite/Proxy.java

If you have already done this please post some code and debug level logs.

User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement