The role of the Proxy service is to route calls between user agents, so they do not need to know where the other user is located.

The Proxy service will obey SIP Route headers, and by default will insert Record-Route headers so that it stays on the path of a call. If a request does not contain any routing information, the Proxy will use RFC3263 DNS procedures to locate an appropriate server.

To test the Proxy service, you can have it set up a call between two user agents on the same network. The user agents should run on different hosts, so that their SIP ports do not conflict, nor their RTP ports (used for streaming audio or video during a call).

Below are instructions for using the Proxy service to place a call, along with a sample message flow.

Placing a call

The following procedure places a call between two user agents, routed through the Proxy service. We will assume the Rhino server is at the address sip:rhino.company.com:5060 and configured to use company.com as its domain. We will refer to the two user agents as A and B, with the SIP identities sip:alice@company.com and sip:bob@company.com respectively.

  1. Configure each user agent with server address sip:rhino.company.com:5060 and their SIP identities.

  2. Start the user agents and ensure they have registered successfully (the user agent should warn if registration failed).

  3. On user agent A, enter sip:bob@company.com as the destination address and place a call. This will send an INVITE message to the proxy.

  4. The proxy will lookup sip:bob@company.com in its location service, and route the call to user agent B.

  5. User agent B should indicate that it has a new incoming call.

  6. Answer the call on user agent B. This sends a SIP 200 OK response back to the proxy.

  7. The proxy forwards the response to user agent A.

  8. User agent A receives the response. A SIP dialog is now established and the users can talk to each other.

  9. Now one of the user agents can hang up the call. This sends a BYE message to the other user agent (through the proxy).

  10. The other user agent should send a 200 OK response back. The call is now terminated.

Message flow

The following diagram below shows the complete message flow for the test SIP call.

                  Proxy/
User A            Registrar             User B
  |      REGISTER     |                   |
  |------------------>|                   |
  |       200 OK      |                   |
  |<------------------|                   |
  |                   |      REGISTER     |
  |                   |<------------------|
  |                   |       200 OK      |
  |                   |------------------>|
  |       INVITE      |                   |
  |------------------>|                   |
  |                   |       INVITE      |
  |                   |------------------>|
  |                   |        1xx        |
  |                   |<------------------|
  |         1xx       |                   |
  |<------------------|                   |
  |                   |      200 OK       |
  |                   |<------------------|
  |       200 OK      |                   |
  |<------------------|                   |
  |        ACK        |                   |
  |------------------>|                   |
  |                   |        ACK        |
  |                   |------------------>|

          ... call established ...

  |        BYE        |                   |
  |------------------>|                   |
  |                   |        BYE        |
  |                   |------------------>|
  |                   |      200 OK       |
  |                   |<------------------|
  |       200 OK      |                   |
  |<------------------|                   |
Tip If at any point a message does not go through as expected, enable tracing in Rhino to see what the Proxy service is doing.
Previous page Next page