Hi Benny I have asked you this question before, and there is no response from you. I want to follow this issue again. I excerpt from the http://www.pjsip.org/pjsip/docs/html/group__PJSIP__REPLACES.htm and RFC3891. ------------------------------------------------------------------------------------------------- The Replaces header contains information used to match an existing SIP dialog (call-id, to-tag, and from-tag). Upon receiving an INVITE with a Replaces header, the User Agent (UA) attempts to match this information with a confirmed or early dialog. -------------------------------------------------------------------------------------------------- It seems that PJSIP stack supports "early transfer", but it does not support. The early transfer target will fail. I check the function pjsip_replaces_verify_request() in sip_replace.c, there is a comment as below: /* If "early-only" flag is present, check that the invite session * has not been confirmed yet. If the session has been confirmed, * return 486 "Busy Here" response. */ if (inv->state <= PJSIP_INV_STATE_EARLY && inv->role != PJSIP_ROLE_UAC) { code = PJSIP_SC_CALL_TSX_DOES_NOT_EXIST; warn_text = "Found early INVITE session but not initiated by this UA"; goto on_return; ? } ? If I modify the condition as "if(inv->state < PJSIP_INV_STATE_EARLY && inv->role != PJSIP_ROLE_UAC)" It will cause system assert, and the log is as below. ../src/pjsip-ua/sip_inv.c:1876: pjsip_inv_answer: Assertion `inv->invite_tsx' failed. ? Do you have plan to enhance it, or how or where can I modify the code let pjsip can accept the early state call replace? ? Best Regards DaCheng -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20100224/b39d1ba9/attachment.html>