|
0:00:13
|
For our next section on C Voice, gateways, trunks and signaling.
|
|
0:00:22
|
So, taking a look at basic gateway functionality.
|
|
0:00:25
|
The idea of a gateway in a voice network is to provide just that.
|
|
0:00:29
|
A gateway between some sort of the separate networks.
|
|
0:00:33
|
Be they traditional telephony networking protocols, and newer Voice over IP protocols,
|
|
0:00:39
|
along with CUCM, the Unified Communication Manager.
|
|
0:00:43
|
Or possibly to switch voice channels between an analog and digital voice circuits.
|
|
0:00:50
|
Maybe to interconnect two separate Voice over IP networks.
|
|
0:00:54
|
They also provide for call survivability and things such as fax and modem services.
|
|
0:01:01
|
They also provide for something called DSPs, Digital Signal Processors,
|
|
0:01:06
|
which we talked a little bit about in CCNA voice and we're gonna go into great detail here in NP voice.
|
|
0:01:17
|
Taking a look at voice and video gateway hardware just to begin with.
|
|
0:01:22
|
And this is specific to Cisco's implementation.
|
|
0:01:28
|
The primary gateway hardware the we use is either the slightly older ISRs or Integrated Services Routers.
|
|
0:01:38
|
The 2800 and 3800 series routers, or the newer ISR G2.
|
|
0:01:44
|
The Generation 2.
|
|
0:01:45
|
The 2900 and 3900 series Cisco routers.
|
|
0:01:53
|
We also have special usage type gateways.
|
|
0:01:57
|
One being the ATA or Analog Terminal Adapter, 186 is just the number that goes along with it.
|
|
0:02:04
|
And this provides for two FXS Ports, something we're gonna talk a lot more about,
|
|
0:02:09
|
basically being an analog phone port and a very small compact form factor.
|
|
0:02:18
|
We also have the VG 248 or Voice Gateway 248.
|
|
0:02:22
|
This provides for 48 FXS ports as well as an SMDI serial port.
|
|
0:02:29
|
There's also the seemingly smaller but actually a little bit newer VG 224,
|
|
0:02:37
|
which provides for only 24 FXS ports but has newer more capable DSPs on board.
|
|
0:02:46
|
We also have the AS...
|
|
0:02:49
|
5350 XM.
|
|
0:02:51
|
This is for much larger deployments.
|
|
0:02:55
|
As well as the AS 5400 XM for very large deployments.
|
|
0:03:01
|
And depending on how large our deployments are, we can even go up to the 7206 VXR series.
|
|
0:03:08
|
Okay, this can have multiple DS3s or voice channels terminating here in this router.
|
|
0:03:17
|
So, looking at some common voice and video gateway modes, we really have three primary voice or video gateway modes.
|
|
0:03:25
|
And that is voice switching, we're going POTS-to-POTS VoIP gateway,
|
|
0:03:31
|
where we are going from either IP to POTS.
|
|
0:03:34
|
POTS being the plain old telephony system.
|
|
0:03:37
|
Or from POTS to IP and then from the IP-to-IP gateway perspective.
|
|
0:03:44
|
So, this is something Cisco calls the Unified Border Element.
|
|
0:03:49
|
So, looking at voice switching going between two between types of POTS circuits.
|
|
0:03:56
|
We might have the need to go between a analog circuit and a digital circuit,
|
|
0:04:01
|
such as maybe an FXO and a T1 CAS, or an FXO and a PRI.
|
|
0:04:08
|
Here, we show an example in the graphic of going from the SS7 Signaling,
|
|
0:04:14
|
which is the System Signaling 7 basically what the traditional PSTN
|
|
0:04:20
|
or Public Switching Telephone Network has used in the core of the network for years and years.
|
|
0:04:29
|
Really decades, long before many carriers began going to IP in the core of their networks.
|
|
0:04:37
|
But many and I might even argue still most carriers do use a lot of SS7 signalling.
|
|
0:04:45
|
But we even have this ability on a corporate or enterprise side to interface with the tellcode,
|
|
0:04:50
|
depending on the contracts and the types of hardware that we have integrate or interface with SS7 signaling.
|
|
0:04:58
|
So, we could be going between SS7, and let's say, PRI.
|
|
0:05:03
|
Again, these are all analog signaling types that we'll be talking a lot more about.
|
|
0:05:08
|
The analog signaling being FXO, FXS and E&M.
|
|
0:05:13
|
And the digital signaling just as an introduction to the terminology being ISTN PRI.
|
|
0:05:20
|
ISTN Q.Sig, SS7 and not mention here but still important is CAS.
|
|
0:05:32
|
Looking at Voice over IP gateway.
|
|
0:05:35
|
We might have the need to terminate a connection to a PBX or possibly to the Public Switched Telephone Network,
|
|
0:05:42
|
and convert to or from IP signaling.
|
|
0:05:47
|
So, going from either digital or analog signaling out to the PSTN or may be interfacing with a PRI to a another PBX.
|
|
0:05:57
|
Okay, so, we might be doing a integration or migration with an existing traditional telephony PBX.
|
|
0:06:07
|
And then lastly, IP-to-IP gateway or as Cisco calls it now CUBE.
|
|
0:06:12
|
The Cisco Unified Border Element.
|
|
0:06:15
|
The idea is to interconnect two logically separate Voice over IP networks.
|
|
0:06:18
|
Possibly between a corporate network and an Internet telephony service provider or between multiple ITSPs.
|
|
0:06:30
|
It's also important to bear in mind that as we're looking at voice,
|
|
0:06:33
|
we will primarily be looking at it from a corporate perspective,
|
|
0:06:37
|
but that's not in any way to say that Cisco hardware doesn't easily scale up to as it's used in service provider networks.
|
|
0:06:46
|
So, when we are looking at things...
|
|
0:06:49
|
Again, we'll be looking at them primarily form a corporate perspective and interprise perspective,
|
|
0:06:53
|
but some of the things that we'll be talking about or at least mentioning such as a 7 signaling...
|
|
0:06:59
|
Such as, ITSP to ITSP, this can certainly be used in large scale service provider networks.
|
|
0:07:08
|
Now, the way that voice gateway...
|
|
0:07:10
|
Cisco voice gateways interact with these different types of telephony, whether they are the older POTS,
|
|
0:07:18
|
the Plain Old Telephony System, or the newer PANS, the Pretty Advance New Stuff.
|
|
0:07:24
|
That's kind of a lame joke.
|
|
0:07:25
|
You have POTS, you have to have PANS and a kitchen.
|
|
0:07:27
|
Anyhow, the IP based signaling is with dial peers.
|
|
0:07:33
|
And the most used dial peer types are again, POTS, Plain Old Telephone System.
|
|
0:07:40
|
This maps a dial string to a specific voice port on a local gateway,
|
|
0:07:46
|
and then the actually physical voice port connects the gateway
|
|
0:07:49
|
to either to the PSTN or a PBX or possibly an individual analog telephone.
|
|
0:07:57
|
We have VoIP dial peer types and this points to the IP address or DNS server or DNS name, really.
|
|
0:08:05
|
Fully qualified domain name of the destination device that we're trying to terminate our connection on.
|
|
0:08:14
|
And it maps and applies various Voice over IP protocols such as H.323 or SIP.
|
|
0:08:23
|
And then we also have a little bit less used type, typically used in faxing but certainly still valid to discuss,
|
|
0:08:31
|
which is the MMoIP, the Multi-media Mail over IP.
|
|
0:08:36
|
And this dial peer points to the E-mail address of an SMTP server.
|
|
0:08:41
|
It's used primarily as I mentioned for Storm Forward Faxing.
|
|
0:08:44
|
What's known as On Ramp and Off Ramp Faxing.
|
|
0:08:47
|
Something that we will be closing this voice gateway signaling and trunks lecture with is the faxing.
|
|
0:08:59
|
So, I wanna take a brief look and do a comparison between IP based routing and call routing.
|
|
0:09:06
|
Now again, presumably you already watched or have at least have the understanding of the CCNA voice level knowledge.
|
|
0:09:14
|
But even though you have probably gone ahead and watched that and take in the associated exam,
|
|
0:09:21
|
you probably still have more of a background in data.
|
|
0:09:25
|
Now, it may not necessarily be the case, you might come from the voice side of the world.
|
|
0:09:30
|
But assuming that you do have a good understanding of data,
|
|
0:09:33
|
I wanna take kind of a look at the IP routing side,
|
|
0:09:37
|
the data side of things and compare that to the call routing side of things.
|
|
0:09:43
|
Or the telephony side.
|
|
0:09:44
|
So, on the IP routing column, we've got this idea of static IP routing, or dynamic routing.
|
|
0:09:52
|
In call routing, in voice networks, we also have static routing or dynamic routing.
|
|
0:09:58
|
Now, up until version 8 of the UC...
|
|
0:10:02
|
Of Cisco's Unified Communication platforms, we really only had static call routing.
|
|
0:10:08
|
With version 8, we'll certainly see...
|
|
0:10:11
|
Once we get to the third main module, CIPT2 that with things such as SAF and CCD, Call Control Discovery,
|
|
0:10:19
|
we now have dynamic routing of calls as well.
|
|
0:10:23
|
In an IP routing world or a data world, we have an IP routing table.
|
|
0:10:29
|
In a voice world, we have a dial plan.
|
|
0:10:34
|
In a data world, we have an IP route.
|
|
0:10:37
|
In the voice world, we have a dial peer.
|
|
0:10:40
|
In the data world, we do hop-by-hop routing so, each router makes an independent decision based on the SEF table
|
|
0:10:47
|
or routing information base and in the voice network, we have basically what we called call legs.
|
|
0:10:53
|
And then that is that gateways are not independently responsible,
|
|
0:10:57
|
but they actually must negotiate with the preceding router or with the next router,
|
|
0:11:01
|
depending on if it's an inbound or an outbound call leg.
|
|
0:11:05
|
Something that we're going to be taking a lot more of a look at here in just a moment.
|
|
0:11:11
|
In the data world, we had destination based routing.
|
|
0:11:16
|
Based on IPs.
|
|
0:11:17
|
The destination IP.
|
|
0:11:19
|
In the voice world, we have called number.
|
|
0:11:22
|
So, it's destination based routing but based on the destination pattern or the number that is being dialled by the caller.
|
|
0:11:31
|
In the data world, we had the longest matched IP rule.
|
|
0:11:36
|
So, if I had a route to, 177.0.0.0/8, that's certainly a valid route.
|
|
0:11:47
|
However, if I have a route to 177.1.1.1/32, all my host bits or subnet bits are flipped to on.
|
|
0:11:56
|
Okay, /32, that's a longer route.
|
|
0:12:00
|
In the voice world, we have the same concept.
|
|
0:12:04
|
And we're gonna go over and take a look at it much more in depth especially when we get into CIPT1.
|
|
0:12:09
|
But we have this idea of the longest matched number rule.
|
|
0:12:12
|
Now, in UCM, that is the Unified Communication Manager,
|
|
0:12:18
|
it pretty much stays the longest matched rule.
|
|
0:12:22
|
It's a pretty much a hard and fast rule.
|
|
0:12:23
|
And again, we'll take a look at that in CIPT1.
|
|
0:12:26
|
Here in C voice, we're gonna see that, that can be change.
|
|
0:12:30
|
Now, that's only able to be changed on the voice gateways.
|
|
0:12:33
|
So, it depends on the platform that we're taking a look at as...
|
|
0:12:38
|
I should say, it depends on the component of the UC network whether or not something can be allowed or not.
|
|
0:12:45
|
So, the idea of a longest matched is fairly hard and fast in the Unified Communication Manager,
|
|
0:12:51
|
formerly called Call Manager by the way, if throughout the few weeks or many hours of videos,
|
|
0:12:58
|
I happen to say, Call Manager.
|
|
0:13:01
|
What I mean is, Unified Communications Manager.
|
|
0:13:04
|
Okay.
|
|
0:13:05
|
Unified Communication Manager or Cisco Unified Communication Manager is of course what Cisco calls it today,
|
|
0:13:11
|
but for years and years they called it what it was, when they acquired it which was Call Manager.
|
|
0:13:17
|
So, forgive me if I slip up and revert to old habits.
|
|
0:13:22
|
In the data side, we have backup IP PADS, we also have equal cost PADS for our data to travel down.
|
|
0:13:29
|
In the voice world, we have backup call routing PADS or possibly equal PADS.
|
|
0:13:36
|
Now, we don't really divide our voice and send it equally along each side,
|
|
0:13:40
|
but we can do something called load balancing of calls.
|
|
0:13:43
|
So, one call goes here, the next call goes here.
|
|
0:13:47
|
In fact, that's what we're gonna take a look at next.
|
|
0:13:50
|
And in the data side we have what's known as a default route.
|
|
0:13:54
|
And in the voice side, it's not normally the configuration but we certainly do have that option of a default call route.
|
|
0:14:09
|
So, let's begin by taking a look at call routing PADS and we're gonna start with equal cost PADS or load balancing.
|
|
0:14:17
|
So, may be I have over here on the right, I can see that I've got my two Unified Communication Managers,
|
|
0:14:24
|
and obviously, in a much larger deployment that we'll talk about in CIPT1,
|
|
0:14:29
|
we talk about deployment, redundancy and such.
|
|
0:14:32
|
We would have more than two.
|
|
0:14:34
|
But just for this example, may be I have two call processing engines that is two UCM servers running the CCM
|
|
0:14:44
|
or Cisco Call Manager service and they've got the IPs of 10.10.10.10 and 10.10.10.20.
|
|
0:14:55
|
Now, with the idea of equal load balancing, I could make a first call to 2001
|
|
0:15:03
|
and my dial peer of the type Voice over IP or VoIP, might have a destination pattern that allows me to dial that.
|
|
0:15:11
|
And again, we'll be taking a look at some of these options.
|
|
0:15:14
|
So, if I don't go over every single new ones have the dial peer right now.
|
|
0:15:20
|
Please allow that and forgive that because we will be going over them in much more detail,
|
|
0:15:24
|
but I wanna take a look at them as we come to them.
|
|
0:15:27
|
So, a destination pattern that allows that call
|
|
0:15:30
|
and the session target points to the IP address of the first communication manager.
|
|
0:15:38
|
And may be my second call to 2001 has a similar pattern or same pattern really and same preference.
|
|
0:15:47
|
And because of the same pattern and the same preference, we're able to load balance these calls back and forth.
|
|
0:15:54
|
So, the third call will go back to the first Communication Manager, the same place the first call went to.
|
|
0:16:00
|
And the forth call will go to the second, the same place that the second call went to.
|
|
0:16:07
|
Okay, we also have the idea of backup PADS.
|
|
0:16:12
|
So, that is to say, maybe my primary call to 2001 goes across a Voice over IP dial peer across the WAN or Wide Area Network.
|
|
0:16:23
|
Or LAN if that happens to be what we have.
|
|
0:16:25
|
The idea of a backup though tends to be across the WAN because we tend to backup across the PSTN over the...
|
|
0:16:34
|
Only if we're going across a large distance such as a WAN.
|
|
0:16:41
|
So, the idea is if the WAN goes down, we have the ability to have a backup.
|
|
0:16:46
|
So, notice my destination pattern...
|
|
0:16:48
|
Oops!
|
|
0:16:49
|
Sorry.
|
|
0:16:49
|
My destination pattern is the same, and my preference, zero being the highest preference and also the default.
|
|
0:16:59
|
one being a lower preference basically, if my Voice over IP dial peer, the session target is unreachable,
|
|
0:17:07
|
basically because I do not have an IP path, and I don't have an IP path because my WAN circuits gone down,
|
|
0:17:12
|
and my routing protocol has effectively taken that route out of my router,
|
|
0:17:19
|
I cannot reach that session target, so I will as a secondary preference, or a lesser preference,
|
|
0:17:26
|
I will backup over the PSTN.
|
|
0:17:30
|
So, taking a look at dial peers, there's always two call legs to every gateway.
|
|
0:17:37
|
So, every time a call crosses a gateway of any sort, whether it's a voice switching gateway,
|
|
0:17:43
|
a gateway between the TDM which is Time Division Multiplexing.
|
|
0:17:50
|
We'll go over that in much more great detail a little bit later.
|
|
0:17:55
|
But the older TDM and the newer Voice over IP or even IP-to-IP gateway.
|
|
0:18:02
|
The idea is that there's always an inbound call leg and an outbound call leg.
|
|
0:18:08
|
Now, whether we're looking at an IOS voice gateway.
|
|
0:18:11
|
So, that's an IOS router.
|
|
0:18:14
|
UCM itself, the Unified Communication Manager.
|
|
0:18:18
|
CME, Communication Manager Express, which is really not much more than software running in the IOS routers.
|
|
0:18:27
|
Each and everyone of these are gateways.
|
|
0:18:31
|
So, let's take a look at a WAN call and let's take a look at the outgoing gateways perspective of a call leg.
|
|
0:18:40
|
So, first of all, let's just talk about the terminology OGW and TGW.
|
|
0:18:46
|
So, OGW is, I said outgoing but really what I mean to say is originating.
|
|
0:18:51
|
OGW is the originating gateway.
|
|
0:18:55
|
TGW is the terminating gateway.
|
|
0:18:57
|
So, the originating gateway is always the one that begins the call
|
|
0:19:01
|
and the terminating gateway is the one that always receives and terminates that call.
|
|
0:19:06
|
Now, in the voice world, it's important to note that the world terminate does not mean discontinue.
|
|
0:19:13
|
Terminate means to really, just like you would terminate a wire on to a terminal.
|
|
0:19:19
|
Okay.
|
|
0:19:20
|
Or unto a 66 or 110 block.
|
|
0:19:22
|
So, I'm punching down a connection of sorts even if it's a logical connection,
|
|
0:19:29
|
and sometimes I might refer to it as nailing up a connection.
|
|
0:19:33
|
But I'm making a connection.
|
|
0:19:34
|
So, terminating a connection really in this sense means that we have a live connection.
|
|
0:19:41
|
When I'm ready to tear down that call then I will do just that.
|
|
0:19:45
|
Tear it down.
|
|
0:19:46
|
But I won't refer to terminate a call as getting rid of a call or making it go away.
|
|
0:19:52
|
Okay.
|
|
0:19:53
|
Terminating really means nailing up or establishing a call.
|
|
0:19:57
|
So, the originating gateway. we're taking a look from its perspective.
|
|
0:20:02
|
So, just from the perspective of the originating gateway, if I have a call that comes in.
|
|
0:20:07
|
Let's say, 2001 is , I've got my inbound call leg.
|
|
0:20:13
|
So, maybe my inbound call leg looks like this.
|
|
0:20:15
|
Dial peer voice 20001.
|
|
0:20:18
|
Now, we'll take a look at this a little bit more later with the UCME, Unified Communication Manager Express,
|
|
0:20:26
|
but we will note in that, that skinny based or SCCP based phones really result in POTS dial peers on CME.
|
|
0:20:40
|
And so, where that POTS dial peer is...
|
|
0:20:45
|
Or where the call is coming in is on that POTS dial peer.
|
|
0:20:49
|
So, the inbound dial peer in this case is a POTS dial peer and Ephone DN.
|
|
0:20:57
|
Then, the outbound call leg is in this case a VoIP dial peer.
|
|
0:21:03
|
So, we've already taken a look at this dial peer basically destination pattern 2...
|
|
0:21:08
|
So, 2 and then any three digits.
|
|
0:21:11
|
It's got its Voice over IP session target.
|
|
0:21:14
|
So, from the perspective of the router that the call came in on POTS dial peer 20001,
|
|
0:21:21
|
and it left on dial peer Voice over IP type 100.
|
|
0:21:26
|
Now, that very same call from the perspective of the terminating gateway looks a little bit different.
|
|
0:21:34
|
But the point is that each gateway has their own independent view of an inbound and an outbound call leg.
|
|
0:21:42
|
So, that terminating gateway's perspective when the call came across,
|
|
0:21:47
|
the inbound call leg was from the egress of the originating gateway to...
|
|
0:21:54
|
And this is where we are perspective from the terminating gateway is to my ingress here.
|
|
0:21:59
|
So, the call came in on a Voice over IP dial peer.
|
|
0:22:04
|
And...
|
|
0:22:05
|
So, the call came in Voice over IP dial peer 10.
|
|
0:22:08
|
Animation is slightly off.
|
|
0:22:10
|
And it left on dial peer 20000.
|
|
0:22:13
|
Actually, this looks like 200,000.
|
|
0:22:15
|
So, I typed in one too many zeroes.
|
|
0:22:17
|
20005 is what that would have been.
|
|
0:22:21
|
And that's a POTS dial peer.
|
|
0:22:22
|
So, basically, these are two CMEs.
|
|
0:22:25
|
But again, the important point being there's always two call legs and those call legs are going to be different,
|
|
0:22:32
|
depending on the perspective of what gateway it is we're looking at.
|
|
0:22:38
|
Okay.
|
|
0:22:39
|
So, let's take a look at a PSTN call.
|
|
0:22:42
|
So, first, the outgoing gateway's perspective of a PSTN call.
|
|
0:22:47
|
Let's say, a 2001 is , the inbound leg stays the same, it's coming in over 20001, a POTS dial peer.
|
|
0:22:55
|
But it's leaving over a also a POTS dial peer.
|
|
0:23:00
|
And this time, it's going over the PSTN.
|
|
0:23:03
|
The Public Switched Telephone Network and in this case, it looks like from our...
|
|
0:23:08
|
From what I put is a...
|
|
0:23:11
|
Nomenclature for the POTS type dial peer or POTS type circuit, it's 000:23.
|
|
0:23:20
|
This looks like a PRI.
|
|
0:23:24
|
And we'll get into a little bit more of how this dial peer's working in a little bit.
|
|
0:23:30
|
Again, the PSTN call from the terminating gateway perspective,
|
|
0:23:34
|
a call comes across, the inbound call leg.
|
|
0:23:38
|
I forgot to change this, it's not Voice over IP dial peer, it is a POTS dial peer.
|
|
0:23:43
|
So, here I have my incoming called number and direct inward dial statement,
|
|
0:23:47
|
and my outgoing dial peer's still the same and still numbered incorrectly.
|
|
0:23:52
|
20005 really not 200005.
|
|
0:23:58
|
200000 dial peer is a lot of dial peers to have in a router.
|
|
0:24:01
|
50 dial peer is a lot of dial peers to have in a router.
|
|
0:24:05
|
You'll soon see.
|
|
0:24:07
|
So, taking a look at how do we matched inbound dial peers?
|
|
0:24:12
|
And we looked a little bit of at this in the CCNA voice, but it's important to go over it again
|
|
0:24:19
|
and really understand this.
|
|
0:24:21
|
That if the dial peer type is Voice over IP, or it's a digital TDM type of POTS dial peer.
|
|
0:24:30
|
Okay, if it's an analog FXO, FXS then this doesn't really apply.
|
|
0:24:37
|
But of the dial peer is VoIP or a digital POTS,
|
|
0:24:40
|
then the first thing that we look at is the incoming called number command on the dial peer.
|
|
0:24:46
|
If we see incoming called number, and we have a match,
|
|
0:24:50
|
that is the highest or best choice and the call will match that dial peer
|
|
0:24:55
|
and choose that dial peer as the inbound dial peer.
|
|
0:24:58
|
And I should actually go back one slide and just specify that there's no way to in IOS,
|
|
0:25:06
|
to specify whether a dial peer is a inbound or outbound dial peer.
|
|
0:25:12
|
That is to say, there's no way to hard code this information.
|
|
0:25:15
|
We don't inform dial peers that they are to be used for inbound or outbound.
|
|
0:25:20
|
What we do is we configure commands like this, one of this on here.
|
|
0:25:26
|
And this...
|
|
0:25:28
|
The IOS basically goes through and chooses which dial peer matches best.
|
|
0:25:33
|
So, it's our job as administrators or configuration professionals to input the commands necessary
|
|
0:25:41
|
to help the router make the best informed decision of which dial peer it should match,
|
|
0:25:47
|
but it's just important to note that we don't say...
|
|
0:25:49
|
Any sort of a command...
|
|
0:25:51
|
We don't enter any sort of a command like inbound dial peer or outbound dial peer.
|
|
0:25:55
|
We don't specify what they are.
|
|
0:25:57
|
So, really, any dial peer could be an inbound or an outbound dial peer depending on the logic that we have...
|
|
0:26:08
|
The configuration that we've input already into these dial peers as to how they should match.
|
|
0:26:14
|
We can certainly debug and understand what they will matched based on certain debug.
|
|
0:26:22
|
So, one being probably the best being debug VoIP dial peer.
|
|
0:26:28
|
And we can see what the router is choosing.
|
|
0:26:31
|
What its options are and what it finally chooses.
|
|
0:26:36
|
And it should actually even be noted before we go on that a single dial peer,
|
|
0:26:41
|
although it's not necessarily always the best design.
|
|
0:26:44
|
Sometimes it can be a very good design, but a single dial peer might be chosen
|
|
0:26:50
|
as both the inbound and the outbound dial peer.
|
|
0:26:53
|
It's really no different than saying a single IP interface could be chosen as both the inbound and the outbound.
|
|
0:27:02
|
We might have a next hop router and, let's say, I am that router in a packet comes to me on my Fast Ethernet 00 interface,
|
|
0:27:10
|
and based on my routing information table or SEF table,
|
|
0:27:13
|
I forward that packet back out the Fast Ethernet 00.
|
|
0:27:18
|
So, it could come in and leave the same interface, same thing with dial peers.
|
|
0:27:23
|
It could come in one dial peer and leave the same dial peer.
|
|
0:27:28
|
So, if the dial peer matches incoming called number command, that's the primary choice.
|
|
0:27:34
|
And this matches the called number.
|
|
0:27:36
|
We sometimes preferred a called number as DNIS or Dialed Number Identification Service.
|
|
0:27:41
|
Now, you'll see those terms interchangeable used number and DNIS,
|
|
0:27:46
|
and you'll see the terms calling number and ANI.
|
|
0:27:49
|
Sometimes, I will leave and refer to then interchangeably.
|
|
0:27:54
|
You could almost always refer to something as called number.
|
|
0:27:56
|
DNIS isn't always necessarily the best or the most accurate representation of something,
|
|
0:28:02
|
it depends on the protocol it's using but most everyone in the voice world will understand what you mean,
|
|
0:28:08
|
when you say DNIS or ANI.
|
|
0:28:11
|
Some people call it ANI, some people call it ANI.
|
|
0:28:14
|
So, the next command, the next preference after incoming called number.
|
|
0:28:20
|
If incoming called number does not matched, is answer address.
|
|
0:28:24
|
So, answer address, while it seems like this is the person answering.
|
|
0:28:29
|
So, it seems like it might be the called number, it's actually matching calling number or ANI.
|
|
0:28:37
|
Next, preference after answer address, if it did not matched.
|
|
0:28:41
|
Or we didn't have it configured, is destination pattern.
|
|
0:28:45
|
Destination pattern, you might be surprise to be reading that it matches calling number or ANI.
|
|
0:28:52
|
And that's because you would be used to seeing destination pattern matched the called number,
|
|
0:29:00
|
and that's true that destination pattern does matched called number if the dial peer type is an outgoing dial peer type.
|
|
0:29:08
|
Another words, if IOS is evaluating, what desk or...
|
|
0:29:12
|
I'm sorry.
|
|
0:29:13
|
What dial peer is the best for an outbound dial peer.
|
|
0:29:18
|
First of all that means that IOS is already chosen an inbound dial peer,
|
|
0:29:23
|
and now it's needing to choose an outbound dial peer.
|
|
0:29:26
|
And destination pattern is what is chosen to matched an outbound dial peer,
|
|
0:29:32
|
and it does matched destination pattern against called number.
|
|
0:29:36
|
However, if we're not yet ready to match an outbound dial peer.
|
|
0:29:42
|
Okay, we're not ready to match an egress interface.
|
|
0:29:44
|
First, we have to match an ingress interface.
|
|
0:29:47
|
We have to take the call in over an inbound dial peer of some type.
|
|
0:29:52
|
If destination pattern is the only possible choice.
|
|
0:29:57
|
Another words, incoming called number did not matched or was not configured,
|
|
0:30:00
|
answer address did not matched or was not configured.
|
|
0:30:02
|
Destination pattern can be considered but it matches the opposite when it is used for inbound.
|
|
0:30:11
|
That is to say, it matches calling number.
|
|
0:30:14
|
So, the destination pattern command is used to matched calling number on the inbound,
|
|
0:30:18
|
and called number on the outbound.
|
|
0:30:23
|
Finally, if none of those three are either configured or matched, then there is a single port command.
|
|
0:30:32
|
Now, this is really only used for POTS dial peers because Voice over IP dial peers do not have a port.
|
|
0:30:39
|
POTS dial peers have a physical port.
|
|
0:30:42
|
Voice over IP dial peers, really don't have a physical port.
|
|
0:30:46
|
They have a logical connection but we don't consider that as a port.
|
|
0:30:52
|
Okay?
|
|
0:30:54
|
And then actually, finally, finally.
|
|
0:30:57
|
Is something called the default dial peer.
|
|
0:30:59
|
Now, this is a none configurable and actually none viewable dial peer.
|
|
0:31:05
|
You won't see it with any show commands.
|
|
0:31:08
|
Debug dial peer, debug VoIP dial peer is something that could indicate whether that the default dial peer is been matched.
|
|
0:31:17
|
But there is something called the default dial peer and this allows calls to come in,
|
|
0:31:24
|
and terminate on a default dial peer.
|
|
0:31:27
|
Now, really, this default dial peer is bad.
|
|
0:31:30
|
Okay?
|
|
0:31:31
|
It matches just about anything.
|
|
0:31:36
|
It matches any codec, it allows for no DTMF relay whatsoever.
|
|
0:31:44
|
DSCP for quality of service that we'll discuss later is marked as Zero.
|
|
0:31:49
|
VAD, something we'll talk about a little bit later, which stands for Voice Activity Detection,
|
|
0:31:54
|
and it's historically referred to that VAD is bad, depends on what your talking about.
|
|
0:32:01
|
If we're talking about newer video systems like tele-presence and better algorithms
|
|
0:32:06
|
then VAD can certainly be used and very good.
|
|
0:32:08
|
But for most of telephony with decent size pipes.
|
|
0:32:12
|
I should say, most audio telephony, we don't really want VAD too much.
|
|
0:32:17
|
No RSVP support for called admission control.
|
|
0:32:21
|
We can't trigger any sort of tool command language TCL or voice XML applications.
|
|
0:32:28
|
And it doesn't have direct inward dialing.
|
|
0:32:31
|
Which we're gonna talk about next.
|
|
0:32:33
|
So, the ideas that we should always explicitly configure in matching inbound dial peer for both POTS and for Voice over IP.
|
|
0:32:42
|
We don't want to allow the default dial peer to matched.
|
|
0:32:49
|
So, let's take a look at direct inward dialing or DID versus two stage dialing.
|
|
0:32:56
|
So, the idea of two stage dialing, a call comes into a gateway, presumably over a POTS TDM link from the PSTN.
|
|
0:33:07
|
And then the caller here is a second dial tone.
|
|
0:33:10
|
And when they hear a second dial tone, they have to dial again to match an internal pattern.
|
|
0:33:17
|
So, they already went off hook and we'll talk a little bit more about that,
|
|
0:33:21
|
but let me just go ahead and clarify as I say, off hook or on hook,
|
|
0:33:25
|
for those of you who might not have much of a background in telephony,
|
|
0:33:29
|
I wanna make sure that this is clear.
|
|
0:33:31
|
Think of the 1910 or 1905 phone system that was in a house or some sort of public post office.
|
|
0:33:44
|
And you actually had a mouth piece that you spoke into at about...
|
|
0:33:50
|
About eye-level, about mouth level.
|
|
0:33:52
|
And then you have a separate ear piece that was on an actual hook on the side of that...
|
|
0:33:59
|
Big wooden box.
|
|
0:34:01
|
And when you would lift up that ear piece, you would take the ear piece off the hook.
|
|
0:34:07
|
Okay?
|
|
0:34:08
|
And so, that's what we mean when we say going off hook.
|
|
0:34:12
|
It means picking up the phone and all the sudden you hear on a properly configured system you hear dial tone.
|
|
0:34:18
|
Okay?
|
|
0:34:19
|
When we say going on hook, that means to hung up a call.
|
|
0:34:23
|
So, off hook means pick up a call and start a call.
|
|
0:34:25
|
On hook means to hung up a call.
|
|
0:34:28
|
Although we certainly don't use a hook and an ear piece anymore in that old fashion,
|
|
0:34:34
|
we still refer to things in the telephony world as off hook and on hook.
|
|
0:34:38
|
So, a user goes they pick up the phone, they hear dial tone,
|
|
0:34:43
|
they dial the number, the call reaches your voice gateway through the PSTN and all the sudden they hear a second dial tone.
|
|
0:34:52
|
Now, aside from being confused if they were informed then they could go ahead and dial digits again,
|
|
0:35:02
|
and actually gets somewhere in your phone system.
|
|
0:35:04
|
And this does allow for possible toll fraud.
|
|
0:35:07
|
Because they could potentially, depending on how your other system configured,
|
|
0:35:10
|
dial anywhere versus you basically telling them where that call should go.
|
|
0:35:16
|
Now, the idea of a direct inward dial, the call comes in to the gateway over the PSTN,
|
|
0:35:23
|
and the DNIS or called number is passed directly on to the digit analysis engine.
|
|
0:35:30
|
So, DID is something that's automatic for Voice over IP dial peers.
|
|
0:35:34
|
We don't need to configure it, we can't tell it not to configure.
|
|
0:35:38
|
However, for POTS, this is actually only supported on digital links such as T1 or E1 CAS,
|
|
0:35:46
|
or T1 or E1 ISTN and then also one other analog type known as FXS DID.
|
|
0:35:54
|
It's a specific type of FXS known as DID.
|
|
0:35:58
|
So, it's not supported on traditional analog E&M, FXO, or FXS.
|
|
0:36:04
|
Again, analog signaling that we're going to be talking much more in depth about.
|
|
0:36:14
|
So, E&M is typically used for something known as tie trunks.
|
|
0:36:18
|
The ability for us to take a trunk or a circuit and tie up two different PBXs together.
|
|
0:36:27
|
So, that is directly connect two PBXs through a form of a permanent trunk.
|
|
0:36:32
|
This is known as a tie trunk.
|
|
0:36:34
|
So, it's not usually a concern.
|
|
0:36:38
|
Or it's used for paging or some other analog voice functionality.
|
|
0:36:43
|
FXS, Foreign Exchange Station is typically used to attached to an analog station.
|
|
0:36:50
|
So, again, it's not usually a concern when someone picks up or goes off hook on that analog station,
|
|
0:36:56
|
they're feeding the system digits of where they want to go.
|
|
0:37:01
|
FXO however, is a call coming in from the PSTN and that call needs to be routed somewhere,
|
|
0:37:09
|
and since we can't allow the digits that the person originally dialed to the passed on inbound to the system,
|
|
0:37:17
|
to our voice gateway and used by the digit analysis engine for further routing.
|
|
0:37:22
|
What we do is when that call comes in through an FXO port from the PSTN,
|
|
0:37:28
|
we use a command called connection PLAR.
|
|
0:37:32
|
Now, the acronym PLAR, P-L-A-R, stands for Private Line Automatic Ring down.
|
|
0:37:42
|
Now, the concept behind PLAR, or Private Line Automatic Ring down is the idea of the BAT phone.
|
|
0:37:48
|
Okay?
|
|
0:37:50
|
If you haven't watched the old, 1950's Batman, then well, shame on you, really.
|
|
0:37:57
|
No.
|
|
0:37:58
|
I'm just kidding.
|
|
0:37:59
|
But, the idea was that, at any time, Commissioner Gordon could just pick up that red phone
|
|
0:38:05
|
and it would automatically call Batman.
|
|
0:38:07
|
It didn't dial anything, there weren't even any...
|
|
0:38:10
|
There wasn't even a rotary or any DTMF digits or any buttons, nothing on the phone.
|
|
0:38:15
|
All you did was go off hook on that and it automatically called someone.
|
|
0:38:19
|
So, that's what Private Line Automatic Ring down is.
|
|
0:38:23
|
And we certainly have the ability to do that, not only in IOS voice gateways,
|
|
0:38:29
|
which is what we're primarily talking about here for C voice.
|
|
0:38:33
|
But then, also we have the ability to do that in UCM and we will take a look at that in our CIPT1 segment.
|
|
0:38:41
|
But here, with a FXO, we basically say that if a call comes in on that type of a port, FXO,
|
|
0:38:47
|
we're going to send it to one location.
|
|
0:38:50
|
Probably a hunt pilot that's going to ring some sort of a hunt group.
|
|
0:38:54
|
But that's the command we used connection PLAR to get that call to route somewhere.
|
|
0:39:03
|
Now, we've already mentioned this but matching outbound dial peers is used or is done with the destination pattern command,
|
|
0:39:13
|
and we matched the called number.
|
|
0:39:16
|
Sometimes I put the inflection insert in my training videos I say call led.
|
|
0:39:21
|
and I've had students in class says, "Is that really how you pronounce that call led or called?"
|
|
0:39:27
|
And it's not so much that, that's the way I normally say it.
|
|
0:39:30
|
I normally say things like calling and called.
|
|
0:39:33
|
But when you say these very quickly, calling and called sometimes they can be mistaken what you meant.
|
|
0:39:39
|
So, sometimes I'll put inflection on that.
|
|
0:39:41
|
Don't think I'm weird in the way I say it.
|
|
0:39:44
|
But again, destination pattern matches called for outbound and calling for inbound dial peers.
|
|
0:39:54
|
So, let's take a look at actual IOS dial peer pattern matching.
|
|
0:40:00
|
So, first of all, we have the ability to match all standard DTMF characters.
|
|
0:40:06
|
Now, you're familiar with a regular DTMF keypad on a phone, which allows for 123456789*0# (hash) or *0# (pound)
|
|
0:40:25
|
however you wanna refer to it.
|
|
0:40:26
|
Asterisks 0 octothorpe (*0#) is the actual terminology.
|
|
0:40:31
|
Octothorpe is what the hash or pound is called.
|
|
0:40:35
|
But there's also A, B, C and D.
|
|
0:40:39
|
Those are valid DTMF characters and in a little while, we're actually gonna take a look at,
|
|
0:40:44
|
I need to know the frequencies, the high and low frequencies that are used to make up the high and the low matricee
|
|
0:40:53
|
to make up the dual tone in DTMF or Dual Tone Multi Frequency.
|
|
0:41:00
|
But for right now, it is important to know that A, B, C and D are also frequencies that,
|
|
0:41:06
|
while they don't exist on most traditional phone keypads are still valid DTMF characters.
|
|
0:41:14
|
They're still valid dual tone multi frequency characters.
|
|
0:41:17
|
And so, they can be used in voice systems to matched.
|
|
0:41:22
|
Typically, you'll see this characters on an actual keypad of a tone generator or,
|
|
0:41:30
|
specifically a DTMF tone generator.
|
|
0:41:33
|
Or if you are trying to dial from system to system.
|
|
0:41:38
|
Maybe I'm trying to take a call center or IVR application and have it dial another system and trigger a DTMF tone,
|
|
0:41:48
|
that most regular user shouldn't be able to or aren't able to trigger that frequency.
|
|
0:41:58
|
Okay, there's also the dot, the period.
|
|
0:42:01
|
This is a wild card that matches any single digit.
|
|
0:42:06
|
We also have the idea of a plus.
|
|
0:42:09
|
Now, this can be used first, if it's the first character to indicate that we're using something called plus E.164 dialing.
|
|
0:42:21
|
Now, if you are...
|
|
0:42:24
|
If you ever traveled to Europe or you live in really in,
|
|
0:42:27
|
Really not just Europe but most of the rest of the world aside from the US.
|
|
0:42:31
|
The US doesn't used plus dialing too often even in GSM networks.
|
|
0:42:38
|
We're not used to dialing plus 2 often.
|
|
0:42:40
|
But, we certainly have the ability with most GSM cellular carriers to be able to dial on our mobile phones,
|
|
0:42:53
|
a plus and then a full E.164 number.
|
|
0:42:57
|
A full E.164 number begins with country code and then it goes on to contain a city code.
|
|
0:43:03
|
Some people call it an area code and then the rest of the subscriber digits.
|
|
0:43:09
|
Different countries and states have different terminology for what they call the rest of the digits
|
|
0:43:16
|
whether it's an office code and a subscriber code or what have you.
|
|
0:43:21
|
But the idea of a plus before everything indicates that,
|
|
0:43:26
|
what is about to come next is a full proper E.164 number and the digits directly following the plus are in fact,
|
|
0:43:34
|
the country code.
|
|
0:43:38
|
Okay.
|
|
0:43:38
|
So, we can use that in IOS dial peer matching.
|
|
0:43:43
|
Now, this does depend on the version of IOS that you have.
|
|
0:43:47
|
I'm trying to think when the plus was first supported.
|
|
0:43:49
|
I believe it was 12.4(15) but it might be 12.4(20)T.
|
|
0:43:56
|
But in any rate the plus can be used.
|
|
0:43:59
|
Now, a plus can also and typically does unless modified or escaped.
|
|
0:44:05
|
It typically denotes a regular expression or regexp.
|
|
0:44:10
|
And plus means 1 or more of the previous character.
|
|
0:44:17
|
If it's not first in the string.
|
|
0:44:18
|
If it's first in the string, well, then it would be an insane regular expression.
|
|
0:44:25
|
Because, you cannot have one or more of a previous character if it is the first character.
|
|
0:44:31
|
You have to have a previous character in order to have one or more of it.
|
|
0:44:34
|
Right?
|
|
0:44:35
|
That makes sense.
|
|
0:44:36
|
So, in IOS dial peers, if I'm keying in the destination pattern, let's say.
|
|
0:44:44
|
And I put plus first, it's intelligent enough to know that it cannot be a regular expression,
|
|
0:44:50
|
because there is no previous character.
|
|
0:44:52
|
If it is after any character, then it indicates one or more of the previous character.
|
|
0:45:00
|
So, if I have, let's say, 9 plus then that would indicate that I could have...
|
|
0:45:06
|
I could not have...
|
|
0:45:07
|
Simply have a 9 because a plus indicates one or more.
|
|
0:45:11
|
Not zero or more.
|
|
0:45:13
|
So, a plus or I should...
|
|
0:45:15
|
Sorry.
|
|
0:45:16
|
A 9 plus would indicate 99, or it would indicate 999 or 9999 and so on and so forth for ethernity
|
|
0:45:28
|
If I had dot plus, then it would indicate any single digit,
|
|
0:45:34
|
and by the way that dot does not match asterisks or hash.
|
|
0:45:39
|
So, it would be a zero through 9 and then plus.
|
|
0:45:42
|
Meaning whatever I could have any single digit and then more digits.
|
|
0:45:47
|
So, basically, any infinite string length of digits but it has to contain digits.
|
|
0:45:55
|
I can use a question mark also being a regular expression or regexp.
|
|
0:46:00
|
Now, this means zero or one.
|
|
0:46:03
|
Not zero or more but zero or one.
|
|
0:46:06
|
So, we'll see places where I can used the question mark to be creative,
|
|
0:46:12
|
I could use it for things like, including the city code or not including a city code,
|
|
0:46:19
|
and the dial peer matches either one.
|
|
0:46:23
|
Okay, we'll take a look at this more but, just know that it's a regexp or regular expression that means zero or one,
|
|
0:46:30
|
of the previous character.
|
|
0:46:33
|
Now, the percentage is a regular expression that means zero or more of the previous character.
|
|
0:46:40
|
So, could be zero, could be one, could be two.
|
|
0:46:44
|
There's also a caret, this is a regular expression that means...
|
|
0:46:48
|
Now, by the way, if you starting to get bug down and thinking,
|
|
0:46:52
|
"wait a minute, we're already talking about regular expressions,
|
|
0:46:55
|
do we really need to know these things?"
|
|
0:46:58
|
Well, yes unfortunately, you do.
|
|
0:47:00
|
And I realize that the...
|
|
0:47:04
|
The CCNP voice course can sometimes be a bit like drinking from a fire hose,
|
|
0:47:11
|
and that you're trying to ingest a lot of information in a short periods of time.
|
|
0:47:17
|
So, this is the reason that we have these as recordings and you can go back and watch them again and again,
|
|
0:47:22
|
as well as watch them side by side along with an actual terminal into a router
|
|
0:47:28
|
or UCM if that's what we happen to be looking at, at the moment.
|
|
0:47:31
|
And practice and pause and watch this and practice along with.
|
|
0:47:37
|
But, if you actually...
|
|
0:47:39
|
If you're coming from may be a long time in the data world, may be you actually already have a CCNP,
|
|
0:47:44
|
or possibly CCIE and route switch then...
|
|
0:47:48
|
Especially if you have a CCIE then you know that regular expressions are noting to be feared
|
|
0:47:53
|
and something that you use a lot in routing and switching as well.
|
|
0:47:57
|
The least in BGP.
|
|
0:47:59
|
So, anyway, the caret or circumflex as its actually called,
|
|
0:48:04
|
is a regular expression that basically indicates the beginning of the line.
|
|
0:48:09
|
Or beginning of a string.
|
|
0:48:11
|
So, if I had a caret, or circumflex, before the rest of any of my digits,
|
|
0:48:17
|
I'm indicating that whatever my first digit is, is actually my first digit.
|
|
0:48:22
|
And it doesn't happened to come in the middle of a string.
|
|
0:48:27
|
These are going to be more important...
|
|
0:48:31
|
The caret is gonna be more important not necessarily as much when we do destination pattern matching,
|
|
0:48:37
|
although it certainly could be.
|
|
0:48:38
|
But more when we get into voice translation rules in IOS.
|
|
0:48:43
|
So, we will be using these.
|
|
0:48:46
|
And then just like we have a regular expression that indicates the beginning of a string,
|
|
0:48:51
|
we have a dollar sign that indicates the end of the string or end of the line.
|
|
0:48:55
|
Okay.
|
|
0:48:57
|
So, the dollar sign indicates the end of the string.
|
|
0:49:00
|
Now, one more.
|
|
0:49:01
|
Those are all regular expressions.
|
|
0:49:03
|
The plus, question, circumflex or caret and dollar sign, but they are...
|
|
0:49:11
|
So, they're not specific to IOS in any way.
|
|
0:49:15
|
Something that is specific to IOS, is the T.
|
|
0:49:19
|
For inter-digit time-outs.
|
|
0:49:21
|
It's a capital T, and this is used to indicate a wait that needs to occur for the inter-digit time-out.
|
|
0:49:29
|
Now, what is the actual value of the inter-digit time-out?
|
|
0:49:32
|
That just depends on what you have configured in IOS.
|
|
0:49:39
|
Or what the default is.
|
|
0:49:41
|
If you haven't configure anything more specific.
|
|
0:49:44
|
And then we also have a very commonly used in much of programming across the Web is the back slash,
|
|
0:49:51
|
which is to escape a character.
|
|
0:49:54
|
So, if...
|
|
0:49:56
|
Let's say, I'm using a plus.
|
|
0:49:58
|
Now, we're...
|
|
0:49:58
|
Right now, we're talking about dial peer matching but let's say, I want to use a plus in a...
|
|
0:50:05
|
Something called a voice translation rule, something we'll take a look at much more in depth in a little while.
|
|
0:50:13
|
If I wanted to use a plus as an actual plus, in a dial peer,
|
|
0:50:18
|
then I can simply use it as the first character.
|
|
0:50:21
|
If I wanted to use it anywhere else in the IOS, like let's say, a voice translation rule,
|
|
0:50:27
|
I would need to escape it.
|
|
0:50:29
|
So, I would put into escape and then a plus and that's going to indicate that the next character,
|
|
0:50:35
|
the plus is actually used as an actual string character.
|
|
0:50:39
|
So, it's actually suppose to match a plus and not perform the function of a regular expression.
|
|
0:50:48
|
Also, I have the ability to nest things inside of a left and right square bracket.
|
|
0:50:55
|
Now, the left and right square bracket.
|
|
0:50:57
|
What this means is that, no matter how many digits I have in here.
|
|
0:51:01
|
Whether I have a range such as zero through 9, or whether I have a series of,
|
|
0:51:06
|
let's say, 3 or 4 or 5 digits.
|
|
0:51:08
|
May be I have 239 or 75...
|
|
0:51:13
|
5789.
|
|
0:51:17
|
Whatever I have in those left-right square brackets that indicates a single digit.
|
|
0:51:24
|
And what's in there are the possible digits that are able to match and become that single digit matched.
|
|
0:51:32
|
But inside the left and right square bracket are a single digit,
|
|
0:51:38
|
or single character that we're trying to match.
|
|
0:51:41
|
Could be a asterisks or hash or A through D as well.
|
|
0:51:46
|
And then I also finally have a left and right or open close parenthesis.
|
|
0:51:52
|
Now, this is not a single digit, this is a collected pattern of digits.
|
|
0:51:57
|
So, let's say, I wanted to, maybe I would use this with a regexp.
|
|
0:52:01
|
May be I wanted to indicate a city code or an area code in...
|
|
0:52:07
|
Let's say, a 10 digit number.
|
|
0:52:09
|
I might use 206501....
|
|
0:52:18
|
So, that's indicating the area code or city code is 206.
|
|
0:52:23
|
The remaining digits or prefixes 501 and any four digits ....
|
|
0:52:32
|
Now, maybe I wanted that pattern to matched both 10 digit numbers to begin with 206501,
|
|
0:52:41
|
and actually, let me just draw this up here.
|
|
0:52:48
|
So, may be I wanted it to match (206)501.. and
|
|
0:53:00
|
I apologize but the PowerPoint does not allow me to draw very neatly at all.
|
|
0:53:05
|
....
|
|
0:53:07
|
I could do something like (206) and then a regular expression like question.
|
|
0:53:15
|
And so, this question is not a single digit place holder.
|
|
0:53:20
|
What it's saying is that this collected group of digits 206,
|
|
0:53:25
|
the whole collected range is either question.
|
|
0:53:30
|
It's either zero or more...
|
|
0:53:33
|
I'm sorry.
|
|
0:53:33
|
Zero or one appearances.
|
|
0:53:37
|
So, that means that if the 206 does not exist, zero, then the dial peer would still matched 501 and then ....
|
|
0:53:52
|
Or it could matched one instance of that previous collected range of digits which because it was in the left-right,
|
|
0:54:01
|
or open-close parenthesis, the collected range of digits 206,
|
|
0:54:05
|
it this question indicated one instance of that, then it would matched not only 206501, let's say, 1111.
|
|
0:54:17
|
But it would also match 5011111.
|
|
0:54:23
|
So, we do have the ability to use collections or sets as we might also call them.
|
|
0:54:30
|
Can use this with dial peers, we can use them with things called voice translation rules.
|
|
0:54:36
|
In fact, I think I have some patterns examples coming up right now.
|
|
0:54:42
|
So, let's take a look at...
|
|
0:54:43
|
And again, this is not just for destination pattern where outgoing calls.
|
|
0:54:48
|
We used the same types of patterns for inbound matching examples.
|
|
0:54:53
|
So, first of all, I've got incoming called number dot.
|
|
0:54:56
|
Now, this matches every incoming call.
|
|
0:55:00
|
And you might have the question, why would it match every call.
|
|
0:55:05
|
It should only match a call that has a single digit.
|
|
0:55:08
|
Well, if we go back to the last slide, we might remember that unless we have specified the caret or circumflex,
|
|
0:55:17
|
meaning the beginning or a string, and digits are strings.
|
|
0:55:23
|
Okay?
|
|
0:55:24
|
If we...
|
|
0:55:25
|
Let me just clarify this real quick, take a step back and say...
|
|
0:55:28
|
If we say...
|
|
0:55:30
|
Let's say, we're coding a phone number.
|
|
0:55:33
|
Let's just say, it's a 10 digit phone number, certainly it's not that length in all parts of the world,
|
|
0:55:39
|
various countries and states have various length of full E.164 numbers.
|
|
0:55:47
|
But let's just say for the sake of discussion that it's a 10 digit number.
|
|
0:55:55
|
If I say...
|
|
0:56:00
|
Let's say, I say the number is 2065011111.
|
|
0:56:06
|
I don't...
|
|
0:56:07
|
Let me just wide it out here.
|
|
0:56:11
|
Oops!
|
|
0:56:19
|
Okay, 206501, let's say, 1001.
|
|
0:56:28
|
What I don't do is draw a comma after every three digits and say that this number is 2,000,065,000...
|
|
0:56:42
|
I'm sorry.
|
|
0:56:43
|
2,065,011,001
|
|
0:56:47
|
That's not how I ever refer to a number.
|
|
0:56:50
|
We never with phone numbers, we never actually draw those commas,
|
|
0:56:55
|
we never refer to them as an integer.
|
|
0:56:58
|
So, they are strings.
|
|
0:57:00
|
and we do, what's actually in associative memory terms called blocking.
|
|
0:57:06
|
And that is to say that humans typically cannot most average humans, you maybe extra average or extraordinary.
|
|
0:57:14
|
But most average humans can't remember a number that is 10 digits long.
|
|
0:57:20
|
They can't remember too many of them at least.
|
|
0:57:23
|
But we have...
|
|
0:57:24
|
We certainly can remember our first phone number from where we grow up in a house.
|
|
0:57:30
|
We can remember many different phone numbers that we've had, and it's because of something called blocking.
|
|
0:57:36
|
And, without getting too much into that, it basically has to do with the fact
|
|
0:57:40
|
that this in our world is considered at least the telephony world is considered a string.
|
|
0:57:47
|
Okay?
|
|
0:57:48
|
So, if we were doing this in some sort of an application,
|
|
0:57:50
|
we would put double quotes around it, because this is actually a string.
|
|
0:57:55
|
So, when I refer to regular expressions that matched parts of a string, it's because our phone numbers are strings.
|
|
0:58:03
|
So, we remember that because, we have this ability to have a caret or circumflex that matches the begining of the string,
|
|
0:58:13
|
and a dollar sign that matches the end of the string, unless we have actually specified,
|
|
0:58:19
|
the caret or the dollar sign, we have not specify the beginning or end of the string.
|
|
0:58:26
|
So, incoming called number dot only specifies the first digit
|
|
0:58:32
|
and it means that it could be any digit in a string that could be any length.
|
|
0:58:39
|
So, this is the reason it matches every incoming call.
|
|
0:58:42
|
Now, if we were more specific and we said incoming call-number.$
|
|
0:58:48
|
then this will only matched one digit.
|
|
0:58:51
|
Well, technically, it would matched any number of digits coming before it but the way that the...
|
|
0:58:57
|
IOS processes it, is the first digit would come in, matched and the dollar sign would say,
|
|
0:59:01
|
that's the end and so the only time that would matched is if the actual called number or in this case...
|
|
0:59:08
|
Yeah.
|
|
0:59:09
|
Called number was exactly one digit which is rarely ever going to be the case.
|
|
0:59:15
|
So, because we have the omission of the dollar sign,
|
|
0:59:19
|
this is where incoming called number dot matches every incoming call.
|
|
0:59:26
|
Now, if we have, let's say, destination pattern dot T.
|
|
0:59:30
|
So, this is any digit and then T, which is the inter-digit time-out.
|
|
0:59:34
|
This is going to matched every outgoing call to any DNIS, any called number or incoming from any ANI.
|
|
0:59:43
|
Any calling number.
|
|
0:59:45
|
However, specifically for outgoing or mainly for outgoing calls.
|
|
0:59:50
|
And we'll talk about when it might occur for incoming later.
|
|
0:59:53
|
But, specifically for outgoing calls, we would also have an inter-digit timer wait at the end.
|
|
1:00:01
|
Okay so, we might be able to dial...
|
|
1:00:06
|
92065015111, but once we dial our last digit, we would have to wait whatever this inter-digit timer was.
|
|
1:00:18
|
So, then we have something like destination pattern +12065015111.
|
|
1:00:26
|
So, here we've matched a very specific E.164 number with the plus.
|
|
1:00:33
|
Here is the example that I actually just gave, which was the (206)
|
|
1:00:43
|
So, I've got this set or collection of numbers,
|
|
1:00:46
|
followed by a regular expression which indicates zero or one of the previous something.
|
|
1:00:53
|
Previous character, but if it's a collection, that it indicates Zero,
|
|
1:00:57
|
one of the previous collection.
|
|
1:00:59
|
And then 5015111.
|
|
1:01:02
|
So, this matches outbound DNIS or inbound calling ANI, to or from 2065015111 or just 5015111.
|
|
1:01:14
|
Because the question could be zero of that previous set.
|
|
1:01:18
|
Then I've got something like destination pattern caret 2065011...$
|
|
1:01:28
|
So, again, it matches outbound DNIS or inbound ANI.
|
|
1:01:32
|
Why, because destination pattern can be used to match incoming calling number or outbound called number,
|
|
1:01:39
|
again to or from 2065011 and then any three digits.
|
|
1:01:45
|
Which basically matches the entire 1000 range of DID.
|
|
1:01:50
|
However, the pattern must begin with 2065011 and then only have three more digits.
|
|
1:01:57
|
That's the circumflex, the caret and the dollar sign.
|
|
1:02:03
|
And then here I've got my last example where I have 2065015 and then [12]..
|
|
1:02:12
|
So, it can match again, either outbound DNS or inbound calling ANI from 2065015 and then that third...
|
|
1:02:23
|
And this is something that we should just mentioned here real quick,
|
|
1:02:28
|
which is the idea of significant digits.
|
|
1:02:31
|
Significant digits begin from the right, most digit and proceed left.
|
|
1:02:37
|
So, this is the most significant digit, the second most significant digit.
|
|
1:02:42
|
So, what we're saying here is that the third most significant digit.
|
|
1:02:47
|
Because this is not a parenthesis.
|
|
1:02:49
|
Open-close parenthesis but instead a left-right bracket.
|
|
1:02:51
|
It doesn't mean that it's a group of digits but rather a...
|
|
1:02:57
|
This is a single digit place holder.
|
|
1:03:00
|
And it can either be a one or a two.
|
|
1:03:03
|
And then any two digits.
|