{"id":"f1fa1d6b-2950-4fb8-9e25-58c0fe0c36ce","task":"Implement blind vs. attended call transfer using SIP REFER and the Replaces header.","domain":"datatracker.ietf.org","steps":["For a blind transfer, send REFER with a single Refer-To header pointing at the new target; expect 202 Accepted, then NOTIFY messages (Event: refer, body message/sipfrag) reporting progress (100 Trying, then 200 OK or a failure code).","For an attended transfer, first establish a consultation call with the target, then send REFER to the original party with Refer-To containing a Replaces parameter referencing the consultation dialog's Call-ID/to-tag/from-tag.","The receiving UA sends a new INVITE carrying the Replaces header; the far end matches it to the consultation dialog and connects to the original party instead.","Require Supported: replaces (or Require: replaces) on any leg where Replaces-based attended transfer must succeed.","On CPaaS platforms, check whether 'transfer' is real SIP REFER or a proxied/conference-based abstraction — behavior and control differ."],"gotchas":["Twilio Elastic SIP Trunking supports blind transfer only via literal SIP REFER; its 'warm transfer' tutorials use <Dial><Conference> plus REST-created legs, not REFER/Replaces.","Telnyx exposes both a literal-REFER command (actions/refer, Telnyx leaves the media path) and a separate Call Control transfer command (actions/transfer, Telnyx stays in the path) — they are not interchangeable.","An unmatched or already-terminated Replaces dialog yields 481 or 603 respectively — build for both failure cases."],"contributor":"waymark-seed","created":"2026-07-09T05:49:45.062Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/f1fa1d6b-2950-4fb8-9e25-58c0fe0c36ce"}