Intro to VoIP Telephony (Part 2)

Video Transcript

00:07
Welcome back! In the previous section we showed you how to register with the server.
00:12
Now it's time to make in and out calls. Here’s an example of a call flow.
00:17
An incoming or outgoing call is going to go the call server
00:21
and the call server is going to send out to the destination.
00:25
This is showing an actual call between Bob and Alice.
00:28
It is assumed that we are registered at this point.
00:31
The invite is initiating the call. And then you get a 180 Response that you're ringing.
00:37
Sometimes you'll see a 183 Session Progress.
00:40
And the difference is that the 183 also indicates that the server might be playing a ringtone
00:46
or sending us some kind of other media before the call is connected .
00:50
Then we get to the 200 OK and the acknowledgement.
00:54
After the acknowledgment, you get RTP communications both ways.
00:58
Then, depending on who ends the call, you will see a BYE message.
01:03
One big part of troubleshooting SIP
01:05
is when calls are not being completed we can usually tell who is disconnecting first.
01:10
If it turns out that the Q-SYS Core is closing the call for no reason, then Q-SYS is to blame.
01:15
If the SIP server is closing the call, well then SIP is to blame.
01:20
The Server almost always closes the call but sometimes we do see issues with the Core closing the call,
01:27
as a result of a mismatch setup issue.
01:30
This is showing the same call but with a network capture.
01:34
You can see the protocol here. You can see the start of the call flow with the INVITE, TRYING, and 200 OK.
01:41
That means that both parties can now send audio.
01:44
You can also see the protocol changes here in the capture and the codec being used, G.711 PCMU.
01:52
At this point, the BYE SIP packet takes over.
01:56
You can see who sent the BYE, and then then the 200 OK, and then the RTP traffic should stop and the call should be disconnected.
02:04
This shows another view of the call setup in Wireshark using the call flow view.
02:09
One thing to note is that you can capture this using Wireshark on a PC or laptop if you are connected to the same network
02:16
or if you have a capture utility on the Q-SYS Core that will capture the traffic.
02:21
These captures are referred to as PCAPs.
02:26
This will also capture the audio stream which you can play back if you are having audio quality issues.
02:31
This shows a call captured on an external device showing two different proxies or call servers involved.
02:37
A typical SIP call will go usually through one or more devices before it reaches its destination.
02:43
Next we have session description protocol, which is what it sounds like. It describes the session.
02:49
In there, you’ll find a session announcement invitations.
02:53
This is also where we negotiate various parameters of the call.
02:57
The softphone and the call server need to determine what capabilities (like audio codecs)
03:02
that they can support between the two of them.
03:05
Within the SDP you'll see the connection IP address,
03:08
the port's audio Codec, sample rates, and other media attributes.
03:13
Without them, you really can't set up the call correctly, so needless to say, the SDP is pretty important to the call.
03:20
Let’s look at this slide again to examine an early offer and a late offer (by the way Q-Sys supports both methods.)
03:28
Early offer includes SDP in the initial call setup. Each device is sharing their supported pieces, and chooses which one each supports.
03:38
Let’s talk about audio codecs for example. Let’s say Q-SYS supports six of them.
03:43
They'll pick one and tell us which one they've picked. This is called the early offer.
03:48
The late offer doesn’t send SDP.
03:52
It simply send a SIP message without session description protocol and then tells Q-SYS which codecs they support and then we pick from them.
04:00
Let’s talk media types.
04:01
M stands for the media name and the transport address. C is the connection. And A is the attribute.
04:08
And this is actually what it looks like if you open the network packet.
04:12
This is where we're trying to connect to this IP address, and the M is the media.
04:17
You'll also see the media attribute, G.722, and the sample rate. You can even see that BroadWorks is the SIP proxy.
04:26
Once that's all set up we're ready to send the audio with RTP.
04:30
As you recall, SIP is the signal element but RTP is the actual voice, the transfer of the media.
04:37
RTP doesn't just include audio but it can also be video and other realtime data.
04:42
If you do a network capture, a PCAP within the Q-SYS Core or a network capture on a PC, you can capture the audio and play it back on your PC.
04:51
Sometimes customers are going to complain about choppy audio or missing audio,
04:55
so you can use this capture to diagnosis the issue.
04:58
You can also encrypt the RTP traffic by turning on the SRTP.
05:04
Some providers require SRTP and TLS, which is used to encrypt SIP messages,
05:10
although this is not always the case.
05:12
Some providers will allow one or both.
05:15
Let’s talk audio codecs, which compress and decompress the signal
05:19
in an effort to reduce the bandwidth and transmit the digital voice data.
05:23
We’ll start with the high fidelity codecs and work our way down.
05:26
Q-SYS support G.722 which is not to be confused with the .1 and the .2 variants. Those are slightly different.
05:35
G.722 is a wide band codec for higher quality sound. It is a newer codec compared to G.711.
05:45
The bidirectional communication used is between 96 and 128 kilobytes per second.
05:51
G.711 is still a very popular codec that been around since 1972.
05:57
This was used on the Public Switch Telephone Network.
06:00
One great advantage is that it has low computational requirements to compress and decompress.
06:06
G.711 has two variants. There's a U law and an A law, which is primarily used outside the United States.
06:14
Then there's G.726, which requires about half the bandwidth of G.711 with around the same quality.
06:23
Q-SYS supports a 32 bit version of this.
06:26
G.729 is a very low bandwidth codec.
06:30
Previously this was a “paid-for codec” but recently the patent ran out and now it's royalty-free.
06:36
Remember, this is a very low bandwidth but you still get decent quality.
06:41
The thing to remember about low quality codecs is that they may not reliably send over DTMF.
06:47
The lower quality may corrupt the DTMF and it won’t reliably go through.
06:52
And we’ll get back to DTMF in the next video. For now, let's take a break and we’ll see you when you get back!