Thanks for the reply. We have already came to the same conclusion by some testing in our lab. It seems its a bug in provider which not constructing BYE message properly. But i'm interested in if its possible to detect the fault in this BYE and construct a new one and then relay it to the UAC. I mean can i do this : contact-header = INVITE's contact-header if (contact-header != BYE's ruri) { construct BYE message with contact header t_relay() } Cheers aft