|
It depends if you want your server to act as a proxy server or a Back 2
Back User Agent. - I the former case I suggest you to read in details RFC 3261 related chapters. - In the latter case things are quite different and not well detailed in any RFC (see following advice) As a B2BUA, your server must have a Server leg in front of the initial UAC and a Client leg in front of the final UAS. Lets say that UA A tries to call UA B through your Server and that you want all the further requests and responses of the call to transit through it. Here are the main points to remember: - You act as a Terminating UA for A - You act as an originating UA for B - Thus, responses to A requests (initiated by server or to be forwarded from B to A) sould contain at least the following headers (see RFC3261 for syntax): - Call ID : same as request from A - To : Same as request from A - From : Same as request from A - Contact : Set with the address of your server => so as to ensure further requests from A to forwarded to you (optional in 1xx status) - Via : Same as request from A - Cseq : Same as request from A - Requests to B (initiated by Server or to be forwarded from A to B): - Call ID : a new one (a new indepentent call is initiated) - To : Same as request from A - From : Same as request from A - Contact : Set with the address of your server => so as to ensure further requests from B to forwarded to you (optional in 1xx status) - Via : Your server address => so as to ensure responses from B to be forwarded to your server. (be carefull, there is no sense in copying all Via headers from A requests, since as a B2BUA you acts as if you were a the originator of the call - you are not a proxy). - Cseq : a new one related to the transaction in progess - Max-Forwards: 70 - Body and related headers: depending on the service you want to provide (but usually the same as in A request) - Requests to A (BYE initiated by B or your server for example) - Call ID : leg A Call-ID - To : Equal to From header of request from A - From : Equal to To header of request from A - Contact : Set with the address of your server - Via : Your server address - Cseq : a new one related to the transaction in progress - Max-Forwards: 70 - Thus, responses to B requests (responses to requests initiated by B : BYE for example): - Call ID : leg B Call-ID - To : Same as request from B - From : Same as request from B - Contact : Set with the address of your server - Via : Same as request from B - Cseq : Same as request from B Good luck Cédriic. suhas wrote:
--
IN & GSM Infrastructure Department FERMA, ZIRST, 31 Chemin du Vieux Chene 38240 MEYLAN, FRANCE Tel : +33 (0)4.76.61.79.00 Fax : +33 (0)4.76.61.79.59 Mail: [EMAIL PROTECTED] WWW : http://www.ferma.fr |
_______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
