Difference between SIP REFER and (RE)INVITE

What is this and when it is used? When I started working in SIP environment, it was confusing to me, as well.

But after reading RFC3261, it became clear to me. Simply said, REFER method is used for transferring a call and INVITE is used to change session media information.

Refer to the example below to understand it more clearly.

REFER – Example


Suppose Alice and Bob are on call and Alice wants to transfer call to Carol, Alice will send REFER to Bob with Carol information.


If Bob wants to session media information, then INVITE is sent again with updated information. Consider, call on hold as an example for this.

In this scenario, Alice calls Bob, then Bob places the call on hold.Bob then takes the call off hold, then Alice hangs up the call.

F1 INVITE Alice -> Proxy 1

      INVITE sips:[email protected] SIP/2.0
      Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9
      Max-Forwards: 70
      From: Alice ;tag=1234567
      To: Bob
      Call-ID: [email protected]
      CSeq: 1 INVITE
      Contact:
      Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
      Supported: replaces
      Content-Type: application/sdp
      Content-Length: …

      v=0
      o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
      s=
      c=IN IP4 client.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 0
      a=rtpmap:0 PCMU/8000

Here, you can see Bob changed SDP session attribute as ‘sendonly’ to place the call on hold and to retrieve the call, this will be changed to ‘sendrecv’.

(Visited 161 times, 2 visits today)

Comments: 2

  1. Unknown April 13, 2013 at 8:10 am Reply

    that is not true, you can use re-invite and replace header to accomplish transfer.

    the key difference is REFER is not part of CORE SIP package. re-invite is part of the cor SIP RFC

  2. Unknown April 13, 2013 at 8:10 am Reply

    that is not true, you can use re-invite and replace header to accomplish transfer.

    the key difference is REFER is not part of CORE SIP package. re-invite is part of the cor SIP RFC

Leave a Reply

Your email address will not be published. Required fields are marked *