A ReferredByHeader only appears in a REFER request. It provides a URL to
reference. The ReferredByHeader field MAY be encrypted as part of end-to-end
encryption. The resource identified by the Refer-To URI is contacted using
the normal mechanisms for that URI type.
; sescase=orig; regstate=reg
javax.sip.header.ims.SecurityClientHeader
Security-Client header
- sec-agree: RFC 3329 + 3GPP TS33.203 (Annex H).
javax.sip.header.ims.PChargingFunctionAddressesHeader
P-Charging-Function-Addresses header.
See RFC 3455
There is a need to inform each SIP proxy involved in a transaction about the common
charging functional entities to receive the generated charging records or charging events.
-
- CCF is used for off-line charging (e.g., for postpaid account charging).
-
- ECF is used for on-line charging (e.g., for pre-paid account charging).
Only one instance of the header MUST be present in a particular request or response.
P-Charging-Addr = "P-Charging-Function-Addresses" HCOLON
charge-addr-params
*(SEMI charge-addr-params)
charge-addr-params = ccf / ecf / generic-param
ccf = "ccf" EQUAL gen-value
ecf = "ecf" EQUAL gen-value
gen-value = token / host / quoted-string
host = hostname / IPv4address / IPv6reference
hostname = *( domainlabel "." ) toplabel [ "." ]
domainlabel = alphanum / alphanum *( alphanum / "-" ) alphanum
toplabel = ALPHA / ALPHA *( alphanum / "-" ) alphanum
example:
P-Charging-Function-Addresses: ccf=192.1.1.1; ccf=192.1.1.2;
ecf=192.1.1.3; ecf=192.1.1.4
javax.sip.header.ims.ServiceRouteHeader
SERVICE-ROUTE header SIP param: RFC 3608.
javax.sip.header.ims.PUserDatabaseHeader
P-User-Database 3GPP header.See RFC 4457 for details.
We only have one major value for this header, as per RFC 4457.
This value is the Database name. The DB here refers
to the IMS HSS. The DB name is encoded as a URI, delimited
by the "<" and ">" signs. There may be generic parameters for
this header encoded as URI parameters. They also lie between
the "<" and ">" delimiters. However, this URI is neither a SIP URI
nor a TEL URI. It is a DIAMETER AAA URI.The value of this AAA URI
is consumed by the S-CSCF. The S-CSCF can cache the value of the
HSS received in this header,thus optimizing the IMS registration
process.
javax.sip.header.ims.PVisitedNetworkIDHeader
P-Visited-Network-ID SIP Private Header:
See RFC 3455.
-
. One of the conditions for a home network to accept the registration of a UA roaming to a
particular visited network, is the existence of a roaming agreement between the home and
the visited network. There is a need to indicate to the home network which one is the visited
network that is providing services to the roaming UA.
-
. user agents always register to the home network. The REGISTER request is proxied by
one or more proxies located in the visited network towards the home network
-
. the visited network includes an identification that is known at the home network
-
. This identification should be globally unique, and takes the form of a quoted text string or a token
-
. In case a REGISTER or other request is traversing different administrative domains
(e.g., different visited networks), a SIP proxy MAY insert a NEW P-Visited-Network-ID header
if the request does not contain a P-Visited-Network-ID header with the same network
identifier as its own network identifier
syntax:
P-Visited-Network-ID = "P-Visited-Network-ID" HCOLON
vnetwork-spec
*(COMMA vnetwork-spec)
vnetwork-spec = (token / quoted-string)
*(SEMI vnetwork-param)
vnetwork-param = generic-param
eg: P-Visited-Network-ID: other.net, "Visited network number 1"
javax.sip.header.ims.SecurityVerifyHeader
Security-Verify header
- sec-agree: RFC 3329 + 3GPP TS33.203 (Annex H).
javax.sip.header.ims.PCalledPartyIDHeader
P-Called-Party-ID header - Private Header:
See RFC 3455 .
A proxy server inserts a P-Called-Party-ID header, typically in an INVITE request,
en-route to its destination. The header is populated with the Request-URI received
by the proxy in the request.
Both the business SIP URI and the personal SIP URI are registered in the SIP registrar,
so both URIs can receive invitations to new sessions. When the user receives an invitation
to join a session, he/she should be aware of which of the several registered SIP URIs this
session was sent to.
P-Called-Party-ID = "P-Called-Party-ID" HCOLON
called-pty-id-spec
called-pty-id-spec = name-addr *(SEMI cpid-param)
cpid-param = generic-param
javax.sip.header.ims.WWWAuthenticateHeaderIms
Extension to WWW-authenticate header (3GPP TS 24229-5d0).
Defines a new authentication parameter (auth-param) for the WWW-Authenticate header
used in a 401 (Unauthorized) response to the REGISTER request.
For more information, see RFC 2617 [21] subclause 3.2.1.
auth-param = 1#( integrity-key / cipher-key )
integrity-key = "ik" EQUAL ik-value
cipher-key = "ck" EQUAL ck-value
ik-value = LDQUOT *(HEXDIG) RDQUOT
ck-value = LDQUOT *(HEXDIG) RDQUOT
javax.sip.header.ims.PrivacyHeader
Privacy Header.
See RFC 3323 for more details.
Privacy-hdr = "Privacy" HCOLON priv-value *(";" priv-value)
priv-value = "header" / "session" / "user" /
"id" / "none" / "critical" / token
example:
Privacy: id
javax.sip.header.ims.AuthorizationHeaderIms
Extension to Authorization header (3GPP TS 24299-5d0).
This extension defines a new auth-param for the Authorization header used
in REGISTER requests.
For more information, see RFC 2617 [21] subclause 3.2.2.
javax.sip.header.ims.PAssertedIdentityHeader
P-Asserted-Identity header.
See RFC 3455
Contains a URI (commonly a SIP URI) and an optional display-name
enable a network of trusted SIP servers to assert
the identity of authenticated users, and the application of existing
privacy mechanisms to the identity problem.
The use of this extension is only applicable inside an administrative
domain with previously agreed-upon policies for generation,
transport and usage of such information.
javax.sip.message.Message.setApplicationData(java.lang.Object)
This method allows applications to associate application context with
the message. This specification does not define the format of this
data, this the responsibility of the application and is dependent
on the application.
this application data is un-interpreted by the stack.
Warning : when you clone a message, the deepcopy does not apply to the application data
(instead, we would just make a copy of the pointer).
javax.sip.message.Message.getApplicationData()
Returns the application data associated with the message.This
specification does not define the format of this application specific
data. This is the responsibility of the application.
javax.sip.message.Message.getMultipartMimeContent()
Get the multipart mime content from a message. Builds a wrapper around the
content and breaks it into multiple sections. Returns these sections as
a multipart mime content list. If the content type is not multipart mime
then the list will have a single element in it.
javax.sip.message.Message.getTopmostViaHeader()
Get the topmost Via header.
javax.sip.message.Message.getFrom()
Get the From header or null if none present.
javax.sip.message.Message.getTo()
Get the To header or null if none present.
javax.sip.message.Message.getCallId()
Get the callId header or null if none present.
javax.sip.message.Message.getCSeq()
Get the CSeq header or null if none present.
javax.sip.message.Message.getContentType()
Get the content type header or null if none present.
javax.sip.message.Message.getFirstLine()
Get the first line of the request or response.
javax.sip.message.MessageFactory.setDefaultServerHeader(javax.sip.header.ServerHeader)
Set the common Server header for all Responses created from this message factory.
This header is applied to all Messages created from this Factory object except those
that take String for an argument and create Message from the given String.
javax.sip.message.MessageFactory.setDefaultContentEncodingCharset(java.lang.String)
Set default charset used for encoding String content. Note that this
will be applied to all content that is encoded. The default is UTF-8.
javax.sip.message.MessageFactory.createMultipartMimeContent(javax.sip.header.ContentTypeHeader, java.lang.String[], java.lang.String[], java.lang.String[])
Create a MultipartMime attachment from a list of content type, subtype and content.
javax.sip.message.SipRequestLine
An interface for the SIP Request Line.
javax.sip.message.Content
Content fragment for a Multipart-Mime content.
javax.sip.message.SipStatusLine
An interface for the SIP Status Line.
Deprecated in version 2.0
javax.sip.Transaction.getSipProvider()
Get the Sip Provider associated with this transaction.
javax.sip.Transaction.getPeerAddress()
Returns the IP address of the peer IP address (upstream/downstream) hop from which this message was initially received.
Will be null when the client transaction is first created.
javax.sip.Transaction.getPeerPort()
Returns the port of the peer port (upstream/downstream hop) from which this message was initially received.
Will be undefined when the client transaction is first created.
javax.sip.Transaction.getTransport()
Returns the name of the protocol with which this message was initially received
javax.sip.Transaction.getHost()
return the ip address on which this message was initially received
javax.sip.Transaction.getPort()
return the port on which this message was initially received
javax.sip.Transaction.getCipherSuite()
Return the Cipher Suite that was used for the SSL handshake.
javax.sip.Transaction.getLocalCertificates()
Get the certificate(s) that were sent to the peer during handshaking.
javax.sip.Transaction.getPeerCertificates()
javax.sip.Transaction.extractCertIdentities()
Extract identities from certificates exchanged over TLS, based on IETF guidelines
javax.sip.Transaction.setReleaseReferences(boolean)
Provide a hint to the stack to release all references that it no longer needs. After this method
is called, the stack may release references that it no longer needs. This will include the reference to the
Response, Dialogs, any unused timers etc. This will significantly reduce memory consumption under high load.
This is an optimization. An implementation of this specification is free to do nothing
when this method is called by the application.
javax.sip.Transaction.getTimerT2()
Retrieve the value of Timer T2 (in ms)
javax.sip.Transaction.setTimerT2(int)
Sets the value of Timer T2 (in ms)
javax.sip.Transaction.getTimerT4()
Retrieve the value of Timer T4 (in ms)
javax.sip.Transaction.setTimerT4(int)
Sets the value of Timer T4 (in ms)
javax.sip.Transaction.getTimerD()
gets the value of Timer D (in ms)
javax.sip.Transaction.setTimerD(int)
Sets the value of Timer D (in ms)
javax.sip.ServerTransaction.enableRetransmissionAlerts()
Enable the timeout retransmit notifications for the ServerTransaction. This method is
invoked by UAs that do want to be alerted by the
stack to retransmit 2XX responses but that do NOT want to associate a Dialog.
The Default operation is to disable retransmission alerts for the Server Transaction
when no Dialog is associated with the Server Transaction, as is common
for a Proxy server.
When this method is called, the stack will continue to generate {@link Timeout#RETRANSMIT}
until the application calls {@link Transaction#terminate()} or a
the listener receives a {@link SipListener#processTransactionTerminated(TransactionTerminatedEvent) } callback.
Note that the stack calls
{@link SipListener#processTransactionTerminated(TransactionTerminatedEvent)}asynchronously
after it removes the transaction some time after the Transaction state is set to
{@link TransactionState#TERMINATED } ;
after which, it maintains no record of the Transaction.
javax.sip.header.Header.getValue()
Gets the header value (i.e. what follows the name:) as a string
javax.sip.header.ims.SecurityAgreeHeader
"Security Mechanism Agreemet for SIP Sessions"
- sec-agree: RFC 3329 + 3GPP TS33.203 (Annex H).
Headers: Security-Server + Security-Client + Security-Verify
javax.sip.message.Message.setApplicationData(java.lang.Object)
This method allows applications to associate application context with
the message. This specification does not define the format of this
data, this the responsibility of the application and is dependent
on the application.
this application data is un-interpreted by the stack.
Warning : when you clone a message, the deepcopy does not apply to the application data
(instead, we would just make a copy of the pointer).
javax.sip.message.Message.getApplicationData()
Returns the application data associated with the message.This
specification does not define the format of this application specific
data. This is the responsibility of the application.
javax.sip.message.Message.getMultipartMimeContent()
Get the multipart mime content from a message. Builds a wrapper around the
content and breaks it into multiple sections. Returns these sections as
a multipart mime content list. If the content type is not multipart mime
then the list will have a single element in it.
javax.sip.message.Message.getTopmostViaHeader()
Get the topmost Via header.
javax.sip.message.Message.getFrom()
Get the From header or null if none present.
javax.sip.message.Message.getTo()
Get the To header or null if none present.
javax.sip.message.Message.getCallId()
Get the callId header or null if none present.
javax.sip.message.Message.getCSeq()
Get the CSeq header or null if none present.
javax.sip.message.Message.getContentType()
Get the content type header or null if none present.
javax.sip.message.Message.getFirstLine()
Get the first line of the request or response.
javax.sip.message.MessageFactory.createResponse(int, javax.sip.header.CallIdHeader, javax.sip.header.CSeqHeader, javax.sip.header.FromHeader, javax.sip.header.ToHeader, java.util.List, javax.sip.header.MaxForwardsHeader, javax.sip.header.ContentTypeHeader, java.lang.Object)
Creates a new Response message of type specified by the statusCode
paramater, containing the mandatory headers of the message with a body
in the form of a Java object and the body content type.
javax.sip.message.MessageFactory.createResponse(int, javax.sip.header.CallIdHeader, javax.sip.header.CSeqHeader, javax.sip.header.FromHeader, javax.sip.header.ToHeader, java.util.List, javax.sip.header.MaxForwardsHeader, javax.sip.header.ContentTypeHeader, byte[])
Creates a new Response message of type specified by the statusCode
paramater, containing the mandatory headers of the message with a body
in the form of a byte array and the body content type.
javax.sip.message.MessageFactory.createResponse(int, javax.sip.header.CallIdHeader, javax.sip.header.CSeqHeader, javax.sip.header.FromHeader, javax.sip.header.ToHeader, java.util.List, javax.sip.header.MaxForwardsHeader)
Creates a new Response message of type specified by the statusCode
paramater, containing the mandatory headers of the message. This new
Response does not contain a body.