Hi

Hopefully someone can help me with the following Cancel scenario.

I would like to Cancel a call immediately after receiving a provisional 
response. After sending the Cancel, I receive a "200 Cancelling" message for 
the Cancel transaction and a "487 Request Terminated" for the INVITE 
transaction..

Now, to make things complicated, I am sometimes receiving 200 response 
belonging to the INVITE transaction (call was answered) after the CANCEL was 
sent, this is a common race condition in the SIP world which I cannot seem to 
solve in Sipp.

I have tried using the "txn" parameters like so: (simpified version)

<send start_txn="invite">
  INVITE ...
</send>

<recv response="180"/>

<send start_txn="cancel">
  CANCEL ...
</send>

<recv response="200" optional="true" response_txn="invite" next="answer"/>
<recv response="200" optional="true" response_txn="cancel"/>
<recv response="487"/>

<send next="end">
  ACK ...
</send>

<label id="answer"/>

<send ack_txn="invite">
  ACK ...
</send>

<send>
  BYE ...
</send>

<label id="end"/>

But "200 Cancelling" response is seen by Sipp as belonging to the INVITE 
transaction because branch value in INVITE and CANCEL is same, so always ends 
up jumping to label "answer".

Is it possible to use regexp in this case to check CSEQ method in the 200 and 
jump to label if it equals INVITE?

Any better ideas on how to handle such a scenario?

Thank you in advance,
Bruce Borrett
------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent 
caught up. So what steps can you take to put your SQL databases under 
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
_______________________________________________
Sipp-users mailing list
Sipp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sipp-users

Reply via email to