Hi, IMO when the header includes "Require: 100REL" then the PRACK should be sent, but I found the oSIP implementation do a trick that when it find the response head includes a RSeq field.
It is right? { osip_header_t *rseq; osip_message_header_get_byname (je->response, "RSeq", 0, &rseq); if (rseq != NULL && rseq->hvalue != NULL) { /* try sending a PRACK */ osip_message_t *prack = NULL; int i; eXosip_lock (); i = eXosip_call_build_prack (ca->tid, &prack); if (i != 0) { OSIP_TRACE (osip_trace (__FILE__, __LINE__, OSIP_WARNING, NULL, "Failed to build PRACK request\n")); } else { eXosip_call_send_prack (ca->tid, prack); } eXosip_unlock (); } } -- Chief Programmer, Abai Studio, China Focus on Linux, VoIP, Entertainment _______________________________________________ Sip-implementors mailing list Sip-implementors@cs.columbia.edu https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors