org.mobicents.javax.servlet.sip
Interface ProxyBranchExt
public interface ProxyBranchExt
Interface Extension that adds extra features to the JSR 289 ProxyBranch interface.
It adds the following capabilities :
-
Allows for applications to set a timeout on 1xx responses as JSR 289 defines a timeout only for final responses.
-
Allows for applications to set the outbound interface based on SipURI, to allow routing based on transport protocol as well.
- Since:
- 1.3
- Author:
- jean.deruelle@gmail.com
|
Method Summary |
int |
getProxyBranch1xxTimeout()
Returns the current value of the search 1xx timeout associated with this ProxyBranch object. |
void |
setOutboundInterface(SipURI outboundInterface)
In multi-homed environment this method can be used to select the outbound interface and port number and transport to use for proxy branches. |
void |
setProxyBranch1xxTimeout(int timeout)
Sets the search timeout value for this ProxyBranch object for 1xx responses. |
setProxyBranch1xxTimeout
void setProxyBranch1xxTimeout(int timeout)
- Sets the search timeout value for this ProxyBranch object for 1xx responses.
This is the amount of time, in seconds, the container waits for an informational response when proxying on this branch.
This method can be used to override the default timeout the branch obtains from the
ProxyExt.setProxy1xxTimeout(int) object
-
If the proxy is sequential, when the timer expires and no 1xx response nor final response has been received,
the container CANCELs the current branch and proxies to the next element in the target set.
-
In case the proxy is a parallel proxy then this can only set the timeout value of this branch to a value lower than the value in the proxy
ProxyExt.getProxy1xxTimeout()
The effect of expiry of this timeout in case of parallel proxy is just to cancel this branch as if an explicit call to cancel() has been made
if no 1xx response nor final response has been received.
- Parameters:
timeout - new search 1xx timeout in seconds
- Throws:
IllegalArgumentException - if this value cannot be set by the container.
Either it is too high, too low, negative or greater than the overall proxy 1xx timeout value in parallel case.- Since:
- 1.3
getProxyBranch1xxTimeout
int getProxyBranch1xxTimeout()
- Returns the current value of the search 1xx timeout associated with this ProxyBranch object.
If this value is not explicitly set using the
setProxyBranch1xxTimeout(int) then the value is inherited from the Proxy setting.
The current value of the overall proxy 1xx timeout value. This is measured in seconds.
- Returns:
- the search timeout value in seconds.
- Since:
- 1.3
setOutboundInterface
void setOutboundInterface(SipURI outboundInterface)
- In multi-homed environment this method can be used to select the outbound interface and port number and transport to use for proxy branches.
The specified address must be the address of one of the configured outbound interfaces.
The set of SipURI objects which represent the supported outbound interfaces can be obtained from the servlet context attribute named javax.servlet.sip.outboundInterfaces.
The port is interpreted as an advice by the app to the container. If the port of the socket address has a non-zero value, the container will make a best-effort attempt to use it as the source port number for UDP packets,
or as a source port number for TCP connections it originates.
If the port is not available, the container will use its default port allocation scheme.
Invocation of this method also impacts the system headers generated by the container for this Proxy,
such as the Record-Route header (getRecordRouteURI()), the Via and the Contact header.
The IP address, port and transport parts of the SipURI are used to construct these system headers.
- Parameters:
outboundInterface - the sip uri representing the outbound interface to use when forwarding requests with this proxy
- Throws:
NullPointerException - on null sip uri
IllegalArgumentException - if the sip uri is not understood by the container as one of its outbound interface- Since:
- 1.4
Copyright © 2011. All Rights Reserved.