0

In my application, I send an invite request and cancel this one. I receive the 200 ok (of my cancel) and I want to send the ACK request but the dialog is not yet established, so how can I send this ack ? However, I think it's not clear for me the difference between dialog and transaction, could you shed some light on this point for me ?

Thanks in advance.

Geoff
  • 1

1 Answers1

0

The CANCEL scenario requires that the remote side sends OK response to CANCEL, but also 487 response to the INVITE, otherwise the transaction is not complete. Only after 487 you can send ACK. The JAIN-SIP stack sends ACK to error responses automatically in most cases. In this case ACK will be sent automatically when you receive 487, you don't need to send it yourself. You only need to send ACK for successful transactions that are not CANCELed.

https://andrewjprokop.files.wordpress.com/2014/05/sip-cancel1.jpg

Vladimir Ralev
  • 1,371
  • 9
  • 18
  • ok I understand now, my remote side doesn't match with the protocol ! thank you, and about transaction/dialog ? – Geoff Aug 10 '15 at 13:42