...
Maven users will need to add the following dependency to their pom.xml
for this component:
Code Block |
---|
|
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-sip</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>
|
...
The URI scheme for a sip endpoint is as follows:
Code Block |
---|
sip://johndoe@localhost:99999[?options]
sips://johndoe@localhost:99999/[?options]
|
...
Div |
---|
class | confluenceTableSmall |
---|
|
Name | Default Value | Description |
---|
stackName
| NAME_NOT_SET
| Name of the SIP Stack instance associated with an SIP Endpoint. | transport
| tcp
| Setting for choice of transport potocol. Valid choices are "tcp" or "udp". | fromUser
| | Username of the message originator. Mandatory setting unless a registry based custom FromHeader is specified. | fromHost
| | Hostname of the message originator. Mandatory setting unless a registry based FromHeader is specified | fromPort
| | Port of the message originator. Mandatory setting unless a registry based FromHeader is specified | toUser
| | Username of the message receiver. Mandatory setting unless a registry based custom ToHeader is specified. | toHost
| | Hostname of the message receiver. Mandatory setting unless a registry based ToHeader is specified | toPort
| | Portname of the message receiver. Mandatory setting unless a registry based ToHeader is specified | maxforwards
| 0 | the number of intermediaries that may forward the message to the message receiver. Optional setting. May alternatively be set using as registry based MaxForwardsHeader | eventId
| | Setting for a String based event Id. Mandatory setting unless a registry based FromHeader is specified | eventHeaderName
| | Setting for a String based event Id. Mandatory setting unless a registry based FromHeader is specified | maxMessageSize
| 1048576
| Setting for maximum allowed Message size in bytes. | cacheConnections
| false
| Should connections be cached by the SipStack to reduce cost of connection creation. This is useful if the connection is used for long running conversations. | consumer
| false
| This setting is used to determine whether the kind of header (FromHeader,ToHeader etc) that needs to be created for this endpoint | automaticDialogSupport | off | Setting to specify whether every communication should be associated with a dialog. | contentType
| text
| Setting for contentType can be set to any valid MimeType. | contentSubType
| xml
| Setting for contentSubType can be set to any valid MimeSubType. | receiveTimeoutMillis
| 10000
| Setting for specifying amount of time to wait for a Response and/or Acknowledgement can be received from another SIP stack | useRouterForAllUris
| false
| This setting is used when requests are sent to the Presence Agent via a proxy. | msgExpiration
| 3600
| The amount of time a message received at an endpoint is considered valid | presenceAgent
| false
| This setting is used to distingish between a Presence Agent & a consumer. This is due to the fact that the SIP Camel component ships with a basic Presence Agent (for testing purposes only). Consumers have to set this flag to true. |
|
...
- using a SIP Stack named client
- using a registry based eventHeader called evtHdrName
- using a registry based eventId called evtId
- from a SIP Stack with Listener set up as user2@localhost:3534
- The Event being published is EVENT_A
- A Mandatory Header called REQUEST_METHOD is set to Request.Publish thereby setting up the endpoint as a Event publisher"
Code Block |
---|
producerTemplate.sendBodyAndHeader(
"sip://agent@localhost:5152?stackName=client&eventHeaderName=evtHdrName&eventId=evtid&fromUser=user2&fromHost=localhost&fromPort=3534",
"EVENT_A",
"REQUEST_METHOD",
Request.PUBLISH);
|
...
- using a SIP Stack named Subscriber
- registering with a Presence Agent user called agent@localhost:5152
- using a registry based eventHeader called evtHdrName. The evtHdrName contains the Event which is se to "Event_A"
- using a registry based eventId called evtId
Code Block |
---|
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
// Create PresenceAgent
from("sip://agent@localhost:5152?stackName=PresenceAgent&presenceAgent=true&eventHeaderName=evtHdrName&eventId=evtid")
.to("mock:neverland");
// Create Sip Consumer(Event Subscriber)
from("sip://johndoe@localhost:5154?stackName=Subscriber&toUser=agent&toHost=localhost&toPort=5152&eventHeaderName=evtHdrName&eventId=evtid")
.to("log:ReceivedEvent?level=DEBUG")
.to("mock:notification");
}
};
}
|
...