Using Ethernet Mode in the Zephyr Xstream
This document details how to use Ethernet mode on the Zephyr Xstream.
The Zephyr Xstream is primarily an ISDN codec but software versions 3.0.1 and higher have an Ethernet streaming mode that allows it to stream audio to another Xstream over a LAN or WAN.
Zephyr Xstream Streaming Modes
Two different streaming modes are available:
Real-Time Protocol streams are Push-only. One server can send to several clients, who decode the audio if they are also in RTP streaming mode. RTP is a transport protocol, not a connection protocol, which is why it works in this way. The "connection protocol" is the user hitting the Dial button.
Unlike RTP, SIP is a connection protocol, not a transport protocol. SIP negotiates a bidirectional connection between the two units, behaving much like a telephone or ISDN call. Progress is related to the far side as well as the local user. The far end unit may be reported as busy (unlike RTP, which sends regardless of the readiness of the receiver), etc.
SIP uses RTP as its transport protocol. What this means, basically, is that SIP negotiates for each side of the connection to send an RTP, push-only stream to the other side. The result is a bidirectional connection.
IP ports to be used by the streaming system are listed in the TEL menu (Page 4) in all modes.
SIP Port (Default 5060): SIP uses a TCP port, as its communication is bidirectional. The SIP port is what is used for the connection protocol, that layer that initiates the two RTP streams. The SIP port must match on both ends of a connection.
UDP Port (Default 9150): RTP streams are sent and received over the UDP port. This port is used for both RTP and SIP modes, as SIP negotiates the creation of RTP streams. The UDP port must match on both ends of a connection.
HTTP Port (Default 8080): This port is currently unused.
TCP Port (Default 8800): This port is currently unused.
Firewalls and Routers
The Internet works because there is a central authority for doling out IP addresses. Any given connection to the internet is permitted to use some number of designated addresses which can be accessed by any machine that is also connected to the Internet. Most connections are limited to one IP, with many more machines needing access to the network. This is the basic purpose of most routers.
Port forwarding is very simple. When you have two connected networks, with different numbering schemes, they must be connected by a router. The machines on either side of the router cannot access each other. The router itself can be accessed by machines on either network, however. Port forwarding is basically telling the router that when it receives packets from the Wide Area Network on a given port, from those packets should be forwarded transparently to the specified address on the Local Area Network.
NAT (Network Address Translation) is a scheme by which a private network can make connections into a public network (such as the Internet) using only one address on the public net. An example is having 3 computers behind the a router/firewall on a residential DSL line. The three computers have separate addresses on the local network, but only the Router's WAN IP is visible on the outer network.
NAT works because the router knows the format of TCP/IP packets. It can substitute its own IP into the packets that are outbound, then reinsert the proper LAN IP when a packet comes inbound from the WAN. This works because TCP is connection-based, so the router knows that all traffic on a given connection is destined for the machine that initiated it.
The Zephyr Xstream Behind a Firewall
There are two Xstreams to consider. For this discussion, we'll assume that the remote Zephyr Xstream is properly configured already. That way, we only need to discuss the considerations for the local machine. If each operator does this, both end up configured properly.
To begin, for all of the scenarios presented below, the following should be done:
Give the Zephyr an IP on the LAN. Usually, this is done by simply picking an unused address.
- Set the LAN subnet mask (usually 255.255.255.0 - get these numbers from the IT administrator)
- Set the gateway to the LAN address of the router
- Set the DNS to the server specified in the WAN/DHCP area of the router's information pages (optional)
After configuring the Xstream as above, there are no special settings required to send an RTP stream only. Take the IP address given to you by the person you're calling. Press ial. Enter the IP address. Press Dial again. Contact the operator on some other channel to confirm receipt of the stream, as there is no reverse communication
To receive an RTP stream from behind a firewall, you first need to set that firewall for port forwarding. On the router setting page, forward UDP port 9150 to the ip address the receiving Xstream. Contact the remote operator, and give him or her the WAN address of the router (retrieved from the router status page or IT admin). When the remote operator sends a stream to your machine, the router will automatically forward it. Note that you can only forward a port to one IP at a time, so if you are behind a firewall and you need to receive multiple streams, you'll have to forward other ports and have the remote admin change their UDP port to match yours.
Since SIP mode is bidirectional, we'll discuss Dialing and Answering, rather than Sending and Receiving.
After configuring your xstream, you'll need forward TCP port 5060 to the Xstream you wish to use. When this is done, follow the instructions for RTP Mode (Receiving)
- forward UDP 9150 to the Xstream and give the remote operator the router's WAN address.
Configure your Xstream as with SIP Mode (Answering). With your unit in Ethernet (SIP) mode, go to Codec(3). The field "RouterIP" (Renamed in current development build as "WAN IP") should be set to the router's WAN address, as shown on the router's status page. SIP includes IP information in its own protocol, above the TCP/IP layer, which cannot be automatically changed by the NAT router. If there is no router, or the Xstream is on a publicly-available IP address, the WAN IP should be set to 0.0.0.0
Let us know how we can help
If you have further questions on this topic or have ideas about improving this document, please contact us.