public class ProxyBranchImpl extends Object implements MobicentsProxyBranch, Externalizable
| Modifier and Type | Class and Description |
|---|---|
static class |
ProxyBranchImpl.TransactionRequest |
| Modifier and Type | Field and Description |
|---|---|
List<ProxyBranchImpl.TransactionRequest> |
ongoingTransactions |
javax.sip.header.ViaHeader |
viaHeader |
| Constructor and Description |
|---|
ProxyBranchImpl() |
ProxyBranchImpl(URI uri,
ProxyImpl proxy) |
| Modifier and Type | Method and Description |
|---|---|
void |
addRecursedBranch(ProxyBranchImpl branch) |
void |
addTransaction(SipServletRequestImpl request) |
void |
cancel() |
void |
cancel(String[] protocol,
int[] reasonCode,
String[] reasonText) |
void |
cancel1xxTimer()
Stop the Extension Timer for 1xx.
|
void |
cancelTimer()
Stop the C Timer.
|
boolean |
getAddToPath() |
SipServletRequestImpl |
getMatchingRequest(SipServletRequestImpl request)
from the given request in param, find the current corresponding matching forwarded orginal request
For a given ACK by example, there might be an UPDATE in between which make the outgoing requet not the INVITE one and can mess up
the branch id generation for the ACK (200 OK would have had the same branch id as UPDATE)
|
SipServletRequestImpl |
getOriginalRequest() |
SipURI |
getPathURI() |
SipServletRequestImpl |
getPrackOriginalRequest() |
Proxy |
getProxy() |
int |
getProxyBranch1xxTimeout() |
int |
getProxyBranchTimeout() |
boolean |
getRecordRoute() |
SipURI |
getRecordRouteURI() |
boolean |
getRecurse() |
List<ProxyBranch> |
getRecursedProxyBranches() |
SipServletRequest |
getRequest() |
MobicentsSipServletResponse |
getResponse() |
URI |
getTargetURI() |
boolean |
isAddToPath() |
boolean |
isCanceled() |
boolean |
isStarted() |
boolean |
isTimedOut()
Has the branch timed out?
|
boolean |
isWaitingForPrack() |
void |
onBranchTerminated() |
void |
onResponse(MobicentsSipServletResponse response,
int status)
A callback.
|
void |
onTimeout(ResponseType responseType)
This callback is called when the remote side has been idle too long while
establishing the dialog.
|
void |
proxyDialogStateless(SipServletRequestImpl request)
This method proxies requests without updating JSIP dialog state.
|
void |
proxySubsequentRequest(MobicentsSipServletRequest sipServletRequest)
Call this method when a subsequent request must be proxied through the branch.
|
void |
readExternal(ObjectInput in) |
void |
removeTransaction(String branch) |
void |
setAddToPath(boolean isAddToPath) |
void |
setOriginalRequest(SipServletRequestImpl originalRequest) |
void |
setOutboundInterface(InetAddress inetAddress) |
void |
setOutboundInterface(InetSocketAddress inetSocketAddress) |
void |
setOutboundInterface(SipURI outboundInterface) |
void |
setOutgoingRequest(SipServletRequestImpl outgoingRequest) |
void |
setPrackOriginalRequest(SipServletRequestImpl prackOriginalRequest) |
void |
setProxy(ProxyImpl proxy) |
void |
setProxyBranch1xxTimeout(int timeout) |
void |
setProxyBranchTimeout(int seconds) |
void |
setRecordRoute(boolean isRecordRoute) |
void |
setRecurse(boolean isRecurse) |
void |
setResponse(MobicentsSipServletResponse response) |
void |
setTargetURI(URI targetURI) |
void |
setWaitingForPrack(boolean waitingForPrack) |
void |
start()
After the branch is initialized, this method proxies the initial request to the
specified destination.
|
void |
updateTimer(boolean cancel1xxTimer)
Restart the timer.
|
void |
writeExternal(ObjectOutput out) |
public transient javax.sip.header.ViaHeader viaHeader
public transient List<ProxyBranchImpl.TransactionRequest> ongoingTransactions
public void cancel()
cancel in interface ProxyBranchpublic void cancel(String[] protocol, int[] reasonCode, String[] reasonText)
cancel in interface ProxyBranchpublic void onBranchTerminated()
public Proxy getProxy()
getProxy in interface ProxyBranchpublic int getProxyBranchTimeout()
getProxyBranchTimeout in interface ProxyBranchpublic SipURI getRecordRouteURI()
getRecordRouteURI in interface ProxyBranchpublic List<ProxyBranch> getRecursedProxyBranches()
getRecursedProxyBranches in interface ProxyBranchpublic void addRecursedBranch(ProxyBranchImpl branch)
public SipServletRequestImpl getMatchingRequest(SipServletRequestImpl request)
public SipServletRequest getRequest()
getRequest in interface ProxyBranchpublic MobicentsSipServletResponse getResponse()
getResponse in interface ProxyBranchpublic void setResponse(MobicentsSipServletResponse response)
setResponse in interface MobicentsProxyBranchpublic boolean isStarted()
isStarted in interface ProxyBranchpublic void setProxyBranchTimeout(int seconds)
setProxyBranchTimeout in interface ProxyBranchpublic void start()
start in interface MobicentsProxyBranchpublic void onResponse(MobicentsSipServletResponse response, int status) throws DispatcherException
onResponse in interface MobicentsProxyBranchresponse - DispatcherExceptionpublic boolean isTimedOut()
isTimedOut in interface MobicentsProxyBranchpublic void addTransaction(SipServletRequestImpl request)
public void removeTransaction(String branch)
public void proxySubsequentRequest(MobicentsSipServletRequest sipServletRequest)
proxySubsequentRequest in interface MobicentsProxyBranchrequest - public void proxyDialogStateless(SipServletRequestImpl request)
request - public void onTimeout(ResponseType responseType) throws DispatcherException
DispatcherExceptionpublic void updateTimer(boolean cancel1xxTimer)
updateTimer in interface MobicentsProxyBranchpublic void cancelTimer()
cancelTimer in interface MobicentsProxyBranchpublic void cancel1xxTimer()
cancel1xxTimer in interface MobicentsProxyBranchpublic boolean isCanceled()
isCanceled in interface MobicentsProxyBranchpublic boolean getAddToPath()
getAddToPath in interface ProxyBranchpublic SipURI getPathURI()
getPathURI in interface ProxyBranchpublic boolean getRecordRoute()
getRecordRoute in interface ProxyBranchpublic boolean getRecurse()
getRecurse in interface ProxyBranchpublic void setAddToPath(boolean isAddToPath)
setAddToPath in interface ProxyBranchpublic boolean isAddToPath()
public void setOutboundInterface(InetAddress inetAddress)
setOutboundInterface in interface ProxyBranchpublic void setOutboundInterface(InetSocketAddress inetSocketAddress)
setOutboundInterface in interface ProxyBranchpublic void setOutboundInterface(SipURI outboundInterface)
setOutboundInterface in interface ProxyBranchExtpublic void setRecordRoute(boolean isRecordRoute)
setRecordRoute in interface ProxyBranchpublic void setRecurse(boolean isRecurse)
setRecurse in interface ProxyBranchpublic void setPrackOriginalRequest(SipServletRequestImpl prackOriginalRequest)
prackOriginalRequest - the prackOriginalRequest to setpublic SipServletRequestImpl getPrackOriginalRequest()
getPrackOriginalRequest in interface MobicentsProxyBranchpublic boolean isWaitingForPrack()
public void setWaitingForPrack(boolean waitingForPrack)
public void setProxy(ProxyImpl proxy)
proxy - the proxy to setpublic void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal in interface ExternalizableIOExceptionClassNotFoundExceptionpublic void writeExternal(ObjectOutput out) throws IOException
writeExternal in interface ExternalizableIOExceptionpublic int getProxyBranch1xxTimeout()
getProxyBranch1xxTimeout in interface ProxyBranchExtpublic void setProxyBranch1xxTimeout(int timeout)
setProxyBranch1xxTimeout in interface ProxyBranchExtpublic void setOutgoingRequest(SipServletRequestImpl outgoingRequest)
outgoingRequest - the outgoingRequest to setpublic void setOriginalRequest(SipServletRequestImpl originalRequest)
originalRequest - the originalRequest to setpublic SipServletRequestImpl getOriginalRequest()
public void setTargetURI(URI targetURI)
targetURI - the targetURI to setpublic URI getTargetURI()
getTargetURI in interface MobicentsProxyBranchCopyright © 2014. All Rights Reserved.