MjSip Stack
v1.6

org.zoolu.sip.message
Class BaseMessageFactory

java.lang.Object
  |
  +--org.zoolu.sip.message.BaseMessageFactory
Direct Known Subclasses:
MessageFactory

public abstract class BaseMessageFactory
extends java.lang.Object

BaseMessageFactory is used to create SIP messages, requests and responses by means of two static methods: createRequest(), createResponse().
A valid SIP request sent by a UAC MUST, at least, contain the following header fields: To, From, CSeq, Call-ID, Max-Forwards, and Via; all of these header fields are mandatory in all SIP requests. These sip header fields are the fundamental building blocks of a SIP message, as they jointly provide for most of the critical message routing services including the addressing of messages, the routing of responses, limiting message propagation, ordering of messages, and the unique identification of transactions. These header fields are in addition to the mandatory request line, which contains the method, Request-URI, and SIP version.


Constructor Summary
BaseMessageFactory()
           
 
Method Summary
static Message create2xxAckRequest(Dialog dialog, java.lang.String body)
          Creates an ACK request for a 2xx response.
static Message createByeRequest(Dialog dialog)
          Creates a BYE request.
static Message createCancelRequest(Message method)
          Creates a CANCEL request.
static Message createInviteRequest(Dialog dialog, java.lang.String body)
          Creates a new INVITE request within a dialog (re-invite).
static Message createInviteRequest(SipProvider sip_provider, SipURL request_uri, NameAddress to, NameAddress from, NameAddress contact, java.lang.String body)
          Creates a new INVITE request out of any pre-existing dialogs.
static Message createNon2xxAckRequest(SipProvider sip_provider, Message method, Message resp)
          Creates an ACK request for a non-2xx response
static Message createRegisterRequest(SipProvider sip_provider, NameAddress to, NameAddress from, NameAddress contact)
          Creates a new REGISTER request.
static Message createRequest(Dialog dialog, java.lang.String method, java.lang.String body)
          Creates a SIP request message within a dialog, with a new branch via-parameter.
static Message createRequest(SipProvider sip_provider, java.lang.String method, NameAddress to, NameAddress from, java.lang.String body)
          Creates a SIP request message.
static Message createRequest(SipProvider sip_provider, java.lang.String method, SipURL request_uri, NameAddress to, NameAddress from, NameAddress contact, java.lang.String body)
          Creates a SIP request message.
static Message createRequest(SipProvider sip_provider, java.lang.String method, SipURL request_uri, NameAddress to, NameAddress from, NameAddress contact, java.lang.String call_id, long cseq, java.lang.String local_tag, java.lang.String remote_tag, java.lang.String branch, java.lang.String body)
          Creates a SIP request message.
static Message createRequest(java.lang.String method, SipURL request_uri, NameAddress to, NameAddress from, NameAddress contact, java.lang.String proto, java.lang.String via_addr, int host_port, boolean rport, java.lang.String call_id, long cseq, java.lang.String local_tag, java.lang.String remote_tag, java.lang.String branch, java.lang.String body)
          Creates a SIP request message.
static Message createResponse(Message req, int code, java.lang.String reason, NameAddress contact)
          Creates a SIP response message.
static Message createResponse(Message req, int code, java.lang.String reason, java.lang.String local_tag, NameAddress contact, java.lang.String content_type, java.lang.String body)
          Creates a SIP response message.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BaseMessageFactory

public BaseMessageFactory()
Method Detail

createRequest

public static Message createRequest(java.lang.String method,
                                    SipURL request_uri,
                                    NameAddress to,
                                    NameAddress from,
                                    NameAddress contact,
                                    java.lang.String proto,
                                    java.lang.String via_addr,
                                    int host_port,
                                    boolean rport,
                                    java.lang.String call_id,
                                    long cseq,
                                    java.lang.String local_tag,
                                    java.lang.String remote_tag,
                                    java.lang.String branch,
                                    java.lang.String body)
Creates a SIP request message.
Parameters:
method - method name
request_uri - request-uri
to - ToHeader NameAddress
from - FromHeader NameAddress
contact - Contact NameAddress (if null, no ContactHeader is added)
host_addr - Via address
host_port - Via port number
call_id - Call-ID value
cseq - CSeq value
local_tag - tag in FromHeader
remote_tag - tag in ToHeader (if null, no tag is added)
branch - branch value (if null, a random value is picked)
body - body (if null, no body is added)

createRequest

public static Message createRequest(SipProvider sip_provider,
                                    java.lang.String method,
                                    SipURL request_uri,
                                    NameAddress to,
                                    NameAddress from,
                                    NameAddress contact,
                                    java.lang.String call_id,
                                    long cseq,
                                    java.lang.String local_tag,
                                    java.lang.String remote_tag,
                                    java.lang.String branch,
                                    java.lang.String body)
Creates a SIP request message. Where
Parameters:
sip_provider - the SipProvider used to fill the Via field
See Also:
#createRequest(String,SipURL,NameAddress,NameAddress,NameAddress,String,String,int,String,long,String,String,String,String)

createRequest

public static Message createRequest(SipProvider sip_provider,
                                    java.lang.String method,
                                    SipURL request_uri,
                                    NameAddress to,
                                    NameAddress from,
                                    NameAddress contact,
                                    java.lang.String body)
Creates a SIP request message. Where
See Also:
#createRequest(String,SipURL,NameAddress,NameAddress,NameAddress,String,String,int,String,long,String,String,String,String)

createRequest

public static Message createRequest(SipProvider sip_provider,
                                    java.lang.String method,
                                    NameAddress to,
                                    NameAddress from,
                                    java.lang.String body)
Creates a SIP request message. Where
See Also:
#createRequest(SipProvider,String,NameAddress,NameAddress,NameAddress,String)

createRequest

public static Message createRequest(Dialog dialog,
                                    java.lang.String method,
                                    java.lang.String body)
Creates a SIP request message within a dialog, with a new branch via-parameter.
Parameters:
dialog - the Dialog used to compose the various Message headers
method - the request method
body - the message body

createInviteRequest

public static Message createInviteRequest(SipProvider sip_provider,
                                          SipURL request_uri,
                                          NameAddress to,
                                          NameAddress from,
                                          NameAddress contact,
                                          java.lang.String body)
Creates a new INVITE request out of any pre-existing dialogs.
See Also:
createRequest(String,SipURL,NameAddress,NameAddress,NameAddress,String,String,int,boolean,String,long,String,String,String,String)

createInviteRequest

public static Message createInviteRequest(Dialog dialog,
                                          java.lang.String body)
Creates a new INVITE request within a dialog (re-invite).
See Also:
createRequest(Dialog,String,String)

create2xxAckRequest

public static Message create2xxAckRequest(Dialog dialog,
                                          java.lang.String body)
Creates an ACK request for a 2xx response.
See Also:
createRequest(Dialog,String,String)

createNon2xxAckRequest

public static Message createNon2xxAckRequest(SipProvider sip_provider,
                                             Message method,
                                             Message resp)
Creates an ACK request for a non-2xx response

createCancelRequest

public static Message createCancelRequest(Message method)
Creates a CANCEL request.

createByeRequest

public static Message createByeRequest(Dialog dialog)
Creates a BYE request.

createRegisterRequest

public static Message createRegisterRequest(SipProvider sip_provider,
                                            NameAddress to,
                                            NameAddress from,
                                            NameAddress contact)
Creates a new REGISTER request.

If contact is null, set contact as star * (register all)


createResponse

public static Message createResponse(Message req,
                                     int code,
                                     java.lang.String reason,
                                     java.lang.String local_tag,
                                     NameAddress contact,
                                     java.lang.String content_type,
                                     java.lang.String body)
Creates a SIP response message.
Parameters:
req - the request message
code - the response code
reason - the response reason
contact - the contact address
local_tag - the local tag in the 'To' header
body - the message body

createResponse

public static Message createResponse(Message req,
                                     int code,
                                     java.lang.String reason,
                                     NameAddress contact)
Creates a SIP response message. For 2xx responses generates the local tag by means of the SipStack.pickTag(req) method.
See Also:
#createResponse(Message,int,String,NameAddress,String,String body)

MjSip Stack
v1.6