TacB0sS
TacB0sS

Reputation: 10266

How would a SIP request would look like when inviting more clients to conversation

I've finished my SIP client and it works, as long as it comes to one on one, or x on x if the participants are defined in the beginning of the call.

I would like to attach a caller or a callee in the middle of the call, I understand the main issue is in the media session joining implementation, but I do need to tell the new participant the details of all the participants involved, how would it be best to implement this?

Thanks, Adam.

Upvotes: 1

Views: 176

Answers (2)

Frank Shearar
Frank Shearar

Reputation: 17132

Like ChrisW says, RFC 4353 is your friend here.

Before you actually implement the logic around conferencing, you need several bits and pieces. You need to support the Join header, the REFER method (which builds on the events package. You may also need the Replaces header, and support call transfer.

The Call Control RFC will show you the actual call flows around adding/removing participants etc.

Also, take a look at the relevant section of the Hitchhiker's Guide to SIP.

And, as always, the sip-implementors list is a good source of help.

Upvotes: 2

ChrisW
ChrisW

Reputation: 56113

I don't think you tell the new participant the details of all the participants involved; instead, I think that you have participants talking to a media server, which mixes the media from the several call-legs:

  • Either, one of the original participants (the one which invites the 3rd party) acts as the media server: this UAC therefore has two separate calls, one to each of the other two parties, and mixes the media.

  • Or, the original participants transfer to a separate, dedicated media server: which subsequently has 3 calls (one to each of the three parties), and mixes the media.


Edit:

Here's an example of the former method: Three-Way Conference (Third Party Joins)

Here are examples of the latter method: A Framework for Conferencing with the Session Initiation Protocol (SIP)

Upvotes: 2

Related Questions