Understanding and Configuring VLANs

All devices that are connected in a switch or switching environment (with the default settings) belong to a single broadcast domain. But what is a broadcast domain? There are certain frames that when a switch receives them, it has to broadcast them out to all its ports (except the port where it received them from). This regards frames with unknown destination MAC address or with broadcast destination address. For more detailed information about how a switch forwards frames, you can read my post: Switch Learning and Forwarding.

So in other words, all devices that belong to that switch environment will be able to receive those broadcast messages, and that is what we call a single broadcast domain. The picture below shows an example of four users connected to four ports of a switch. They are all connected with the default port configuration, and they belong to the same broadcast domain. Continue reading


SIP INVITE: Contact Header

The Contact header is mandatory to exist in the INVITE and 200 OK message, and can also be included in a REGISTER message or other responses such as 1xx, 2xx, 3xx. It consists of a display name (optional), the URI of the originator User Agent (UA) and may also contain parameters. An example of a Contact header can seen below:

Contact: A <sip:a@aaa.com>

where A is the display name and sip:a@aaa.com is the SIP URI of A.

But what is the use of the Contact header? The Contact header basically contains the SIP URI of the caller, that the called party can use to send future requests to. That is, requests that belong to the same dialog, such as re-INVITE, BYE and ACK messages. In other words, it says where a party can be reached. Let’s see how Contact is used within particular messages:

Continue reading

How to Troubleshoot High Latency with Traceroute Command

High latency in the network can appear due to different reasons, for example congestion in the network, device faults, etc.This is usually measured and referred to as the Round-Trip-Time (RTT) or also Round-Trip-Delay (RTD), which is defined as the time it takes for an Echo message (ping) to reach the destination plus the time for its reply to arrive back to the source.

Two main tools are usually used to measure this network delay: ping and traceroute. While ping returns as output whether a destination is reachable along with statistics about packet loss and RTT, traceroute shows all the hops in the routing path from source to destination along with RTT results for each hop. When troubleshooting high latency issues, it is important to keep in mind the geographical distance between the hops, since longer distances mean longer RTT. As soon as you identify the problematic hops, you can try to ping between them directly and check in the routers in order to find the problem.

For instance, a traceroute can show where in the network (which hop in the routing path) the delay exists or starts. Such an example is shown in the traceroute output below:

Continue reading

VoIP – PSTN Gateways and How They Do the Translation

PSTN and VoIP networks have co-existed for some time now. Calls can be made from one platform to the other with the help of translation signaling/media gateways. But how is this translation done and what are the main functions of a gateway?

PSTN and VoIP are two very different technologies. PSTN uses SS7/ISUP protocol for signaling and transfers media over traditional TDM channels on E1/T1 trunks.  VoIP on the other hand, uses SIP protocol for signaling and RTP protocol for the media. A gateway’s duty is to convert those protocols and formats from one to the other.

A gateway has three main functions:

  • Signaling Gateway (SG)
  • Media Gateway Controller (MGC)
  • Media Gateway (MG)

Continue reading

How a Router Selects the Best Route

A router’s main responsibility is to receive packets and forward them to the right destination. But how does a router think and what is the process of deciding the best route to forward a packet to? This post describes this decision process and preference order based on examples.

1. Longest prefix length – When multiple routes with different prefix length 

A destination IP address can belong to various subnets that exist in the routing table. When there are multiple routes with different prefix lengths to a destination, then the longest match is always preferred regardless of the routing protocol used. For example, if the routing table contains the prefixes: Continue reading

Calling from PSTN to VoIP

As VoIP services are growing, traditional (PSTN) and IP telephony need to co-exist. Users can belong either to one or the other network, and inter-working between the two technologies is necessary. That requires translation between the different protocols used, which is provided by signaling/media gateways. This post makes first a quick introduction to the signaling process of a PSTN call, and then it describes a call scenario where a PSTN subscriber calls a VoIP user.

Traditional telephony (PSTN network) uses a signaling protocol called ISDN User Part (ISUP). When a user initiates a call, an Initial Address Message (IAM) is sent in order to reserve a circuit for the call. Continue reading

What is a Session Border Controller (SBC)?

The Session Border Controller (SBC) is a SIP B2BUA entity that is commonly used in the borders of network providers. The SBC receives and processes requests as a UAS, which then regenerates and sends as a UAC. In this way it is acting as an intermediary between the origin and destination of VoIP sessions. But what are an SBC’s main functions and advantages?

Continue reading

How to Analyze VoIP SIP Calls in Wireshark

Analyzing SIP packets is one of the most common ways to troubleshoot VoIP issues in the network or systems. Wireshark is a very helpful tool when it comes to analyzing VoIP SIP calls. Therefore, it is good to be able to monitor the VoIP traffic and capture the SIP packets. Wireshark provides the possibility to detect the VoIP calls in a trace and analyze them accordingly.

In order to detect the VoIP calls in a Wireshark trace, you need to select from the top menu: Telephony –> VoIP Calls. Then a new window appears which lists all the calls that were found in the trace, and information regarding the start/end time, From/To headers, etc. Select a call from the list, and press “Flow“. Continue reading