|
0:00:13
|
Ok, good morning everyone and we'll get started back with media
|
|
0:00:18
|
and the demonstrations that we were doing.
|
|
0:00:20
|
So we last looked at conference bridge
|
|
0:00:23
|
and transcoder, getting those registered.
|
|
0:00:25
|
And they should still be registered. We can take a look here real briefly.
|
|
0:00:33
|
Our conference bridge at Router 3 or Branch 2 is...
|
|
0:00:40
|
our transcoders one at each site are registered.
|
|
0:00:46
|
and our media termination points two at each site, one for each codec
|
|
0:00:50
|
G.711 and G.729 respectively are all still registered.
|
|
0:00:54
|
Good.
|
|
0:00:58
|
Some of the demonstrations when it comes to actually invoking trancoder
|
|
0:01:02
|
or invoking MTP for DTMF relay and things like that
|
|
0:01:07
|
we will mainly look at those when we have the necessary
|
|
0:01:13
|
components configured, so for instance transcoder,
|
|
0:01:17
|
we'll take a look at that in conjunction with
|
|
0:01:21
|
possibly with unity connection if we disable software transcoding
|
|
0:01:26
|
which it supports automatically by default.
|
|
0:01:29
|
And we'll also take a look at transcoding for certain when
|
|
0:01:32
|
it comes to UCCX as it can only speak one language.
|
|
0:01:36
|
Either G.711 or G.729 whichever you configure it,
|
|
0:01:40
|
install or whichever you switch it to in system preferences
|
|
0:01:44
|
in the UCCX engine.
|
|
0:01:47
|
And we'll take a look at MTPs
|
|
0:01:50
|
as it relates to DTMF codec and DTMF...
|
|
0:01:56
|
I'm sorry not DTMF codec, but DTMF...
|
|
0:02:02
|
Well not trancoding, I'm trying to think of the right word here.
|
|
0:02:08
|
Essentially going between different DTMF types.
|
|
0:02:11
|
As soon as we get our gateways up which will be the next module once
|
|
0:02:14
|
we finish with media, so we'll come circle back real briefly
|
|
0:02:19
|
or real quickly even to the MTPs.
|
|
0:02:28
|
For right now let's go back to our media resource groups.
|
|
0:02:32
|
And let's take a look at what we already have in each of our MRGs.
|
|
0:02:38
|
So we'll open corporate headquarters
|
|
0:02:40
|
Branch 1, Branch 2 and Branch 2 conference
|
|
0:02:43
|
and I just held down for the Mac command
|
|
0:02:46
|
for whatever other browser to open a new tab
|
|
0:02:51
|
or whatever other operating system you happen to be on.
|
|
0:02:54
|
You won't have tabs in the real lab exam,
|
|
0:02:57
|
so don't get used to using tabs. I like to use them for demonstration
|
|
0:03:02
|
because it makes it a little bit easier. I can open
|
|
0:03:06
|
multiples at the same time without having to go back and forth
|
|
0:03:08
|
and dizzy you with the screens constantly switching,
|
|
0:03:13
|
but when it comes to actual studying, don't get too used to those
|
|
0:03:21
|
and don't even necessarily get too used to using shortcuts
|
|
0:03:26
|
like I have a number of shortcuts up here for find phones and service parameters.
|
|
0:03:30
|
It depends on the facility you go to. It depends on the Microsoft group
|
|
0:03:35
|
policy objects that they have in place for that site.
|
|
0:03:39
|
Whether or not you'll be able to use or modify your browser in any way.
|
|
0:03:45
|
So don't get too used to them although they can obviously save you some time
|
|
0:03:48
|
if you're able to.
|
|
0:03:50
|
Ok, so for corporate headquarters we've got our two corporate headquarters MTPs
|
|
0:03:54
|
711 and 729 and we've got our transcoder.
|
|
0:03:57
|
That looks good.
|
|
0:03:58
|
Close that window for Branch 1,
|
|
0:04:01
|
same thing, but all for the Branch 1 are two.
|
|
0:04:05
|
For... I'm sorry for Branch 1
|
|
0:04:07
|
For Branch 2 we've got the two MTPs, the hardware conference and
|
|
0:04:12
|
the hardware transcoder. So we've got the conference embedded
|
|
0:04:15
|
within MRG Branch 2.
|
|
0:04:17
|
And then we've got a standalone MRG Branch 2 conference which
|
|
0:04:21
|
we give to all the other MRGLs.
|
|
0:04:25
|
And let's take a look at those as a recap.
|
|
0:04:30
|
So let's open up corporate headquarter Branch 1 and Branch 2.
|
|
0:04:34
|
Corporate headquarter has its own corporate headquarter hardware MRG.
|
|
0:04:37
|
We could even rename that MRG corporate headquarter HW
|
|
0:04:41
|
for hardware.
|
|
0:04:42
|
Just some sort of a naming convention that is intuitive
|
|
0:04:47
|
and reminds us in the lab. You want to be as intuitive as possible when
|
|
0:04:51
|
you're naming your entities in CUCM and really in IOS and anywhere
|
|
0:04:56
|
in the lab. You want to use -- I hate to say this, but
|
|
0:05:00
|
you want to use as little brain power as necessary for things
|
|
0:05:05
|
that are kind of superfluous, so things like naming
|
|
0:05:09
|
or things like if you're taking a look at a name of something
|
|
0:05:14
|
and entity and you're trying to figure out or remember back
|
|
0:05:17
|
to -- maybe you're in hour five or six of your exam and
|
|
0:05:22
|
depending on whether you had to travel long ways and maybe
|
|
0:05:25
|
you're way far out of your time zone, your natural body's clock
|
|
0:05:32
|
or circadian rhythm time zone, you might be really tired and
|
|
0:05:35
|
in an hour six -- I know we have people joining us here for this live
|
|
0:05:39
|
class that are starting the class it's 10 am here Eastern
|
|
0:05:45
|
and some people said it was 10 pm
|
|
0:05:46
|
where they're starting, so just depending on where you're coming from
|
|
0:05:50
|
obviously this is just a class you could cut out and watch the
|
|
0:05:52
|
class on demand later, but in the real lab you've paid a lot of money
|
|
0:05:58
|
and you've taken a lot of time studying
|
|
0:06:02
|
and it's not even so much that you can't take the exam again,
|
|
0:06:06
|
but one you have to of course wait 30 days. It's a big travel
|
|
0:06:12
|
and cost just to get back there, but it's also bigger than anything
|
|
0:06:16
|
I think it's an emotional toll that you've put so much, you've placed
|
|
0:06:21
|
so much effort and study and time on that one day that you
|
|
0:06:25
|
want to make it as easy on yourself as possible.
|
|
0:06:27
|
So do things like name your -- take a little bit of extra time
|
|
0:06:32
|
to fill in a description or something, not too much extra time, but just
|
|
0:06:35
|
a little bit so that when you're in hour six you don't forget something that you
|
|
0:06:39
|
set up originally in hour one and what it contained.
|
|
0:06:44
|
That by the way may seem to contrast with what I'll say when
|
|
0:06:48
|
it comes to troubleshooting because when it comes to troubleshooting
|
|
0:06:51
|
and we're just taking a real brief side tangent for a bit of strategy
|
|
0:06:56
|
or tactic within your strategy. When it comes to troubleshooting
|
|
0:06:59
|
I'm going to tell you not to ever trust yourself and to tell you that
|
|
0:07:03
|
I don't trust myself and I don't trust any other students in
|
|
0:07:06
|
a live class. If I go over to help someone, some of you are going to be in my class
|
|
0:07:10
|
in just a few weeks, if I come over to your desk and I say,
|
|
0:07:14
|
"Hey! Can you please show me your calling search spaces?"
|
|
0:07:16
|
Some students have no problem and they say, "Sure."
|
|
0:07:20
|
Some say, "Well, I'll show them to you, but they're configured properly."
|
|
0:07:24
|
And some say, "No we don't need to go look there, they're all configured properly."
|
|
0:07:28
|
And I'll try to kindly say, "Well just humor me, it's not that I don't trust you,
|
|
0:07:33
|
but I don't even trust myself."
|
|
0:07:34
|
And I always go back and double check things when I'm troubleshooting.
|
|
0:07:37
|
You don't want to always be going back and this is where
|
|
0:07:41
|
I'm saying it could seem to contradict what I'm saying with intuitive naming.
|
|
0:07:46
|
You don't want to have to go back and check what it is or
|
|
0:07:49
|
what the entity contains when you're first provisioning or when
|
|
0:07:52
|
you're setting something up.
|
|
0:07:54
|
You want your naming to be intuitive so that you know
|
|
0:07:56
|
what's in that entity. You know what's in an MRG and so you know
|
|
0:08:00
|
where to assign it in an MRGL.
|
|
0:08:03
|
However, that being said, while you don't want to go double check
|
|
0:08:07
|
your work just for your provisioning, your initial setup, your configuration
|
|
0:08:11
|
maybe some touch up work when it comes to troubleshooting.
|
|
0:08:16
|
In other words, if something isn't working
|
|
0:08:18
|
you set it up the first time, you trust your naming
|
|
0:08:21
|
and then you go to test and verify and something isn't working, then
|
|
0:08:25
|
that's where I say don't trust yourself, go back to square one.
|
|
0:08:28
|
And you'd be surprised, probably about 50 to 60 percent of the time,
|
|
0:08:32
|
so just a little bit over half
|
|
0:08:36
|
there is an error in the configuration.
|
|
0:08:38
|
And occasionally it's an error with the actual database
|
|
0:08:42
|
the web page not updating the database properly.
|
|
0:08:44
|
That's very miniscule, maybe one percent of the time,
|
|
0:08:47
|
but it's just a careless oversight, not a big deal, I do it all the time.
|
|
0:08:52
|
And I've been doing this for -- not only just working with CUCM
|
|
0:08:56
|
and Voice, but specifically teaching for six years now
|
|
0:09:00
|
and I still make these mistakes when I do development and
|
|
0:09:03
|
that's why I have to go verify my own work.
|
|
0:09:05
|
And it's why it takes a while to roll out a lab exam or
|
|
0:09:10
|
something, a multiprotocol lab, a mock lab
|
|
0:09:14
|
and make sure that it's really tested and fully vetted thoroughly.
|
|
0:09:18
|
So don't trust yourself in troubleshooting, but do name intuitively.
|
|
0:09:21
|
Alright, done with that.
|
|
0:09:23
|
So we've got the Branch 2 Router 3 conference added to
|
|
0:09:25
|
the corporate headquarter MRGL.
|
|
0:09:28
|
Added to the Branch 1 MRGL as well as the Branch 1 hardware.
|
|
0:09:31
|
And Branch 2 doesn't need it. As we mentioned before we
|
|
0:09:34
|
could add it, but it would just be redundant.
|
|
0:09:36
|
So let's go up to our MRGs.
|
|
0:09:39
|
And we're going to add a new MRG.
|
|
0:09:41
|
And this one is going to be called MRG underscore let's say software
|
|
0:09:48
|
for the Pub.
|
|
0:09:51
|
And we're going to add Annunciator_2.
|
|
0:09:55
|
You could rename these in the real lab, it's up to you
|
|
0:09:58
|
underscore 2 is always going to be your Pub, underscore 3 is always
|
|
0:10:01
|
going to be your Sub.
|
|
0:10:06
|
If you remember that, then no need to rename them.
|
|
0:10:09
|
No need to take the time.
|
|
0:10:11
|
If you don't, not a problem to quickly rename them.
|
|
0:10:14
|
I mentioned the reason I'm not going to and almost never
|
|
0:10:16
|
do in my specific development stuff is because when we do a bulk administration
|
|
0:10:23
|
export and we export the database, specifically when we go to reimport
|
|
0:10:28
|
the database -- if we export it with different names other than
|
|
0:10:32
|
Annunciator or An_2, An_3
|
|
0:10:36
|
whoever that girl is I'm not sure.
|
|
0:10:38
|
CFB_2, MOH_2, MOH_3
|
|
0:10:42
|
if we export them with names other than that and they have
|
|
0:10:45
|
modifications to them, it's no problem, but when we go to reimport and
|
|
0:10:49
|
we're reimporting over a fresh VMware base, not really a snapshot,
|
|
0:10:55
|
but base fresh disk, MOH_2 and 3 have been created from that base disk
|
|
0:11:01
|
and then I try to also add my new MOH, whatever I change the name to
|
|
0:11:07
|
and they don't import because there's already two software MOH servers
|
|
0:11:13
|
and they already have the two Pub and Sub locked up
|
|
0:11:17
|
as far as creating those software, so it doesn't import the proper names.
|
|
0:11:22
|
Now I'm not going to add -- you know what, I will just
|
|
0:11:27
|
go ahead and add MTP_2
|
|
0:11:31
|
and CFB_2
|
|
0:11:32
|
just so that they're all there. I could leave them in the null
|
|
0:11:35
|
just not assigned to an MRG. We stated that, that would be
|
|
0:11:40
|
a part of the null MRGL as well as it would be a part of
|
|
0:11:43
|
every other MRGL ordered at the very bottom, so if I've got
|
|
0:11:48
|
MRGL corporate headquarters and it's got three specific MRGs
|
|
0:11:53
|
MRG for corporate headquarters hardware
|
|
0:11:55
|
MRG for Branch 2 conference and MRG for software Pub
|
|
0:12:01
|
and maybe software Sub, so four explicit. It's actually got five.
|
|
0:12:05
|
The fifth one is the null MRGL, I'm sorry the null MRG
|
|
0:12:10
|
and it would have whatever I...
|
|
0:12:13
|
I didn't mean to click use multicast there.
|
|
0:12:15
|
It would have whatever I didn't have in another MRG,
|
|
0:12:18
|
so for instance, if I didn't put these two.
|
|
0:12:20
|
It really doesn't matter. The point is, is that unless I put these two in a separate MRG
|
|
0:12:25
|
called 'don't use' or call it 'Fred' it doesn't really matter,
|
|
0:12:29
|
but simply don't assign that MRG.
|
|
0:12:31
|
The point is, is that they are available.
|
|
0:12:36
|
The only reason they're not available to us is because
|
|
0:12:39
|
up in System> Service Parameters
|
|
0:12:42
|
for the IP voice media streaming app
|
|
0:12:44
|
we set the run flag for these two software entities
|
|
0:12:48
|
for both Pub and Sub to false.
|
|
0:12:51
|
Don’t' run.
|
|
0:12:53
|
Ok, you note that use multicast for audio.
|
|
0:12:56
|
If I check this use,
|
|
0:12:59
|
it says I must select at least one MOH resource
|
|
0:13:04
|
configured for multicast before I can make this into a multicast group.
|
|
0:13:08
|
And I can see that the MOH_2 does not have the word
|
|
0:13:13
|
'multicast' in parentheses after the name.
|
|
0:13:18
|
It would if this MOH server were enabled for multicast.
|
|
0:13:22
|
It wouldn't matter if I had enabled any voice
|
|
0:13:25
|
I'm sorry not voice, but audio source.
|
|
0:13:29
|
Music on hold audio source fixed or traditional.
|
|
0:13:36
|
It would matter only if I've enabled this particular MOH server.
|
|
0:13:40
|
And we're going to do that next, but for right now we'll leave it undone.
|
|
0:13:44
|
Ok, so we're going to say save.
|
|
0:13:46
|
We're going to say copy.
|
|
0:13:47
|
We're going to go back and change this to Sub.
|
|
0:13:51
|
And we're going to get rid of these four
|
|
0:13:54
|
for underscore 2
|
|
0:13:55
|
and we're going to add underscore 3 for annunciator.
|
|
0:13:59
|
Conference, MOH, MTP
|
|
0:14:02
|
Remember the order in here doesn't matter
|
|
0:14:04
|
even if they are like entities it will load balance or
|
|
0:14:08
|
in the notion of a conference bridge, it will use the least pull
|
|
0:14:12
|
or it will pull and use the either least used if they're all equal resources
|
|
0:14:18
|
or if one conference bridge has more resources than another, it will
|
|
0:14:22
|
use the one with the most available resources.
|
|
0:14:26
|
So we'll say save.
|
|
0:14:28
|
Add successful.
|
|
0:14:29
|
So now we have two additional MRGs
|
|
0:14:31
|
so that we can order the Pub and Sub within our MRGL.
|
|
0:14:39
|
And we always do the Pub first, so let's open up
|
|
0:14:42
|
each one of our MRGLs and let's add the Sub first and then the Pub.
|
|
0:14:47
|
And it's here that we can change the order.
|
|
0:14:51
|
Ok, so we're going to pull from the Sub first and then the Pub.
|
|
0:14:55
|
Why?
|
|
0:14:56
|
Just because.
|
|
0:14:58
|
In the real lab you would do obviously whatever it was you were told to do.
|
|
0:15:06
|
And by the way, if you did have multiple software resources like MOH servers
|
|
0:15:11
|
in real life, in production you certainly would want to separate them out
|
|
0:15:15
|
into two MRGs as well.
|
|
0:15:17
|
And you would use them specifically how you had your design setup.
|
|
0:15:24
|
So you would probably load balance maybe half of everything to one
|
|
0:15:29
|
annunciator and MOH server and another half of your organization
|
|
0:15:33
|
to another and then you would have separate multicast ranges
|
|
0:15:38
|
for your MOH servers and etc. but you would use those to
|
|
0:15:41
|
load balance and become resilient backups for each other.
|
|
0:15:45
|
Ok, so we've updated corporate headquarter.
|
|
0:15:48
|
Let's actually just jump back in, make sure I did hit update.
|
|
0:15:51
|
I'm pretty sure I did because it told me to hit reset which
|
|
0:15:54
|
I can't do because there is no reset button.
|
|
0:15:57
|
Ok, so let's go into Branch 1.
|
|
0:15:59
|
And we'll add Sub and then Pub.
|
|
0:16:02
|
And by the way, a lot of times you can just double click on something
|
|
0:16:05
|
and that will...
|
|
0:16:09
|
that will drop it to select it or put it back up in available.
|
|
0:16:16
|
And then we will add our MRGL Branch 2
|
|
0:16:19
|
which already has the conference built in.
|
|
0:16:21
|
We'll add the Sub and Pub software resources.
|
|
0:16:26
|
Ok, so we've taken care of media preference.
|
|
0:16:33
|
And it's time to move on and look at music on hold.
|
|
0:16:38
|
So first of all let's go to our MOH server.
|
|
0:16:41
|
Music On Hold server.
|
|
0:16:43
|
Or as some people call it the mooh server.
|
|
0:16:46
|
I don't really tend to call it that, but that's fine if people do.
|
|
0:16:53
|
Remember they're always registered regardless of
|
|
0:16:55
|
whether it's on the Sub or on the Pub, they're registered with the CPE.
|
|
0:16:59
|
How do they determine which CPE or
|
|
0:17:02
|
Call Processing Engine is their primary
|
|
0:17:04
|
based on the device pool, based on the unified communications manager group?
|
|
0:17:10
|
And we have Sub then Pub. If I switched and hit reset,
|
|
0:17:13
|
then went back, I would see that everyone would be registered with
|
|
0:17:17
|
the Pub.10
|
|
0:17:19
|
Ok, so let's jump into underscore 2 or the Pub MOH server.
|
|
0:17:24
|
I've got my device pool. Very important, not only for things such as CUCM group
|
|
0:17:31
|
and primary secondary CPE, but also important for determining
|
|
0:17:35
|
region, so my region with other things. If I'm currently DP corporate headquarters
|
|
0:17:41
|
and I open up over here in a new tab phones
|
|
0:17:45
|
and do a find
|
|
0:17:47
|
and let's do a search by description.
|
|
0:17:50
|
Everything from this corporate headquarter device pool
|
|
0:17:56
|
or MOH server to the corporate headquarter phones in the same
|
|
0:18:00
|
device pool will -- and I'm going to click on this to open
|
|
0:18:04
|
in a window -- will share the same region.
|
|
0:18:08
|
And of course if I go to the region for R_Corporate Headquarter
|
|
0:18:12
|
I see that from corporate headquarter
|
|
0:18:16
|
to corporate headquarter is 711
|
|
0:18:19
|
So currently from the MOH server two phones
|
|
0:18:22
|
will be 711. To anything else will be 729.
|
|
0:18:28
|
As we looked at the concept and the slides a little bit earlier
|
|
0:18:32
|
for alternate multicast music on hold
|
|
0:18:38
|
that is sourcing or sometimes called spoofing
|
|
0:18:43
|
the multicast music on hold from the actual router
|
|
0:18:46
|
at the remote site, so as to say WAN bandwidth, so as to not
|
|
0:18:50
|
get into an oversubscription of WAN bandwidth issue
|
|
0:18:54
|
because of -- it doesn't trigger locations based CAC
|
|
0:19:00
|
or RSVP CAC and actually one quick note on that
|
|
0:19:05
|
while multicast music on hold does not trigger locations
|
|
0:19:08
|
if you think about it, if I've got --
|
|
0:19:12
|
and this is a maybe an exaggerated scenario,
|
|
0:19:15
|
but if I've got a 1000 people across the WAN listening to multicast music on hold
|
|
0:19:20
|
how much bandwidth am I taking up across the WAN?
|
|
0:19:23
|
Anyone want to venture a guess on that real quick?
|
|
0:19:27
|
That's right. Somebody said it.
|
|
0:19:30
|
It depends on how many audio source files
|
|
0:19:33
|
I have being streamed, so the people that are placing the people
|
|
0:19:38
|
on hold, so the 'holders', the people that are doing the placing on hold
|
|
0:19:45
|
if I've got a 1000 different people on hold, then I had to have a 1000
|
|
0:19:49
|
different people that were originally connected in placing those eventual
|
|
0:19:54
|
'holdees' on hold and if they all had different source files for
|
|
0:19:59
|
their user or network audio source file,
|
|
0:20:05
|
then -- maybe not all different because we can't put a 1000
|
|
0:20:09
|
different audio sources in here,
|
|
0:20:13
|
but let's say there were ten different ones.
|
|
0:20:17
|
Well then those ten spread across the 1000 people being held
|
|
0:20:22
|
if all ten were being used, then I would have ten streams.
|
|
0:20:27
|
And that might be a lot. Maybe ten G.720 streams is not
|
|
0:20:32
|
that great of audio quality.
|
|
0:20:35
|
The G.729 codec was specifically designed for the male and female
|
|
0:20:42
|
human voices which tend to hover right around the frequency range
|
|
0:20:48
|
of a 1000 kilohertz.
|
|
0:20:50
|
It tends to be right about 500 kilohertz
|
|
0:20:54
|
up to about -- maybe even a little bit lower than that
|
|
0:21:00
|
maybe 200 kilohertz up to about 2200 or maybe even as high as
|
|
0:21:07
|
some female voice is up to about 3000 kilohertz.
|
|
0:21:10
|
But if you think about general speaker range and audio fidelity
|
|
0:21:14
|
if you're familiar with that or if you've ever looked into that,
|
|
0:21:18
|
most typical speaker ranges are 20,000 kilohertz
|
|
0:21:26
|
down to about depending on your speaker maybe 20 Hertz not kilohertz,
|
|
0:21:31
|
but Hertz.
|
|
0:21:33
|
And those are your really low frequency effects.
|
|
0:21:36
|
And so the thing is, is that obviously music tends to
|
|
0:21:42
|
use a lot more of the spectrum, some of it very dynamic range
|
|
0:21:46
|
or going back and forth on the frequency spectrum chart
|
|
0:21:51
|
using a lot more of that range. So the G.729 codec optimized
|
|
0:21:57
|
for male and female voice which is one of the reasons they were
|
|
0:22:01
|
able to build so much compression into it because they were not taking
|
|
0:22:05
|
into account or into possibility in the algorithm such a large
|
|
0:22:09
|
frequency range. It sounds terrible for music on hold.
|
|
0:22:12
|
I mean you can always tell when you've called a call center
|
|
0:22:16
|
or been put on music on hold and it's Voice over IP and
|
|
0:22:20
|
they're using G.729. Especially if they're using VAD because
|
|
0:22:24
|
then it not only sounds terrible, but then it clips the audio as well.
|
|
0:22:28
|
They hear a silence and you get a break and then it comes back
|
|
0:22:30
|
and it's almost like a gate if you're familiar with audio processing
|
|
0:22:34
|
it's almost like a gate that's been way, way, way too
|
|
0:22:38
|
liberally applied and it's clipping the stuff.
|
|
0:22:41
|
Anyhow, G.711 is better, it's still not perfect
|
|
0:22:46
|
because you still are compressing and decompressing,
|
|
0:22:49
|
but it is better at that.
|
|
0:22:52
|
So it's certainly a lot -- it's actually a lot better.
|
|
0:22:54
|
It's definitely a lot better to use G.711 for music on hold
|
|
0:22:59
|
and if I had ten G.711 streams, we're talking 80 k without Layer 2 overheads
|
|
0:23:06
|
we're probably, depending on our Layer 2 maybe MPLS,
|
|
0:23:09
|
we're probably talking about a 100 to a 120 kilobits per second
|
|
0:23:13
|
per call, so if we had ten calls, that's 1.2 Megabit
|
|
0:23:18
|
obviously it could be a big issue.
|
|
0:23:20
|
If we only had one call though, let's say we only had one
|
|
0:23:26
|
audio source file for our whole system, all servers
|
|
0:23:30
|
it doesn't matter if a thousand people, ten people, or ten thousand
|
|
0:23:33
|
people are listening if it's multicast there's only one stream going out.
|
|
0:23:37
|
So a 120 k depending on your Layer 2
|
|
0:23:41
|
encryption whatever else.
|
|
0:23:43
|
Ok, so it's actually... it really it depends.
|
|
0:23:47
|
If it's just one source file, then it really wouldn't be adding
|
|
0:23:52
|
that much additional to your WAN bandwidth and
|
|
0:23:55
|
it could be easily taken into account with Quality of Service
|
|
0:23:58
|
even if call admission control said one less than your QoS
|
|
0:24:02
|
priority policy stated.
|
|
0:24:04
|
By the way, do take that into account as well
|
|
0:24:06
|
if you're supposed to in the lab provision let's say
|
|
0:24:11
|
call admission control for ten calls at G.729 and you're supposed to play
|
|
0:24:17
|
one multicast stream and I'm not talking about the alternate multicast
|
|
0:24:22
|
I'm not talking about spoofed from the router because that takes
|
|
0:24:24
|
no WAN bandwidth, so no Quality of Service addition is needed for that,
|
|
0:24:31
|
but if we're looking at one either G.729 multicast stream
|
|
0:24:38
|
or G.711 depending on whatever the lab tells you
|
|
0:24:42
|
actually streaming from the MOH server
|
|
0:24:46
|
and actually going out to a remote branch site
|
|
0:24:49
|
then -- and again if it's multicast. If it's unicast, you have to take
|
|
0:24:54
|
that into account with your call admission control calculation.
|
|
0:24:57
|
If it's multicast, you should not take that into account with your
|
|
0:25:02
|
call admission control because if you did, you'd actually would be allowing
|
|
0:25:05
|
one additional call and the multicast music on hold stream would never take
|
|
0:25:09
|
that, but you should take that into effect or into account when you
|
|
0:25:13
|
calculate your priority queue.
|
|
0:25:16
|
Ok, so again, only one multicast stream coming from the Pub or Sub
|
|
0:25:21
|
streaming across the WAN to a remote site, G.729 let's say for instance,
|
|
0:25:27
|
or 711 whatever you were told, it is multicast, take that into account
|
|
0:25:32
|
for added QoS priority calculation.
|
|
0:25:37
|
And if you're not sure or hesitant about that in any way,
|
|
0:25:42
|
then certainly ask the proctor.
|
|
0:25:44
|
As I mentioned some might not necessarily have that detailed
|
|
0:25:49
|
of information in their minds or in their grading guides
|
|
0:25:55
|
as I mentioned Kelly at RTP, I realize not everyone can
|
|
0:25:58
|
get out to RTP, but if you can, she's really helpful and she would
|
|
0:26:05
|
certainly be able to answer that question for you, whether you should take that into
|
|
0:26:07
|
account in a priority queue or not.
|
|
0:26:10
|
Ok, so...
|
|
0:26:15
|
So looking back, another thing the device pool is going to give us
|
|
0:26:18
|
is our -- in fact I should have left that open.
|
|
0:26:25
|
Another thing the device pool is going to give the MOH server
|
|
0:26:28
|
is its MRGL.
|
|
0:26:31
|
If it's unicast and it's going to let's say a remote site
|
|
0:26:37
|
and I have not enabled G.729 as a codec that the server,
|
|
0:26:42
|
the MOH server can handle which it's off by default,
|
|
0:26:46
|
but we can enable it,
|
|
0:26:48
|
if I've not enabled that, then the MOH server we mentioned is
|
|
0:26:51
|
going to need to invoke a transcoder, not the phone.
|
|
0:26:54
|
The phone will not look for a transcoder. If the phone across
|
|
0:26:57
|
the WAN looked for a transcoder, then it would be G.729
|
|
0:27:01
|
from a Branch 1 phone to G.729 on a Branch 1 transcoder
|
|
0:27:06
|
because it would pull on a local transcoder and
|
|
0:27:09
|
then it would be G.711 across the WAN to the MOH server.
|
|
0:27:13
|
Yes the transcoding would get done, but it defeats the purpose.
|
|
0:27:17
|
And the phone is not the one that invokes a transcoder.
|
|
0:27:19
|
Here's how we know who invokes the transcoder.
|
|
0:27:22
|
Always ask yourself the question,
|
|
0:27:25
|
'Who is the entity that doesn't speak the codec?'
|
|
0:27:28
|
'Does the phone speak G.729 and G.711?'
|
|
0:27:31
|
Yes, it was told to do G.729
|
|
0:27:35
|
Does it speak the codec? Yes it does.
|
|
0:27:39
|
The MOH server. It was told to do G.729 based on
|
|
0:27:43
|
device pool region matrix between the two entities.
|
|
0:27:47
|
The phone and the MOH server itself. Does it do G.729?
|
|
0:27:51
|
Not natively unless we've enabled it in service parameters for
|
|
0:27:54
|
IP Voice Media Streaming App. So if we have not enabled it, then
|
|
0:27:58
|
the answer is no, it doesn't speak it. It's the one that needs to invoke
|
|
0:28:01
|
the transcoder because it doesn't speak the language.
|
|
0:28:03
|
So its device pool is looked at
|
|
0:28:09
|
looking for an MRGL in that device pool and that MRGL is what
|
|
0:28:13
|
produces the MRG corporate headquarter hardware
|
|
0:28:17
|
the transcoder at Router 1.
|
|
0:28:20
|
Ok, location for unicast.
|
|
0:28:23
|
Note we have maximum half duplex streams. Those are unicast.
|
|
0:28:27
|
And maximum multicast connections.
|
|
0:28:30
|
We can obviously handle a lot more multicast connections.
|
|
0:28:33
|
Theoretically 250,000
|
|
0:28:37
|
because it's basically one stream per source file
|
|
0:28:41
|
or per media source music on hold audio source.
|
|
0:28:46
|
Do we need to use a Trusted Relay point?
|
|
0:28:48
|
Ok, TRP.
|
|
0:28:50
|
We talked about that. Again we'll look at that when it comes
|
|
0:28:53
|
to media and when it comes to -- essentially call admission control
|
|
0:28:57
|
or forcing everything through a given point. We'll look at that
|
|
0:29:01
|
when it comes, when we begin testing the CUPC.
|
|
0:29:04
|
So presence. One of the last things we do.
|
|
0:29:07
|
And run flag, is it set to yes or no?
|
|
0:29:11
|
Ok, enable multicast audio source.
|
|
0:29:13
|
We're going to go ahead and enable multicast for this server.
|
|
0:29:16
|
In production, the actual IP address would be based on
|
|
0:29:20
|
your WAN team's probably already laid out multicast plan.
|
|
0:29:29
|
Whatever schema they had setup for what traffic
|
|
0:29:32
|
what type of multicast traffic goes in what multicast
|
|
0:29:35
|
group ranges or IP ranges.
|
|
0:29:37
|
For our lab we're just going to leave it the same.
|
|
0:29:40
|
For the Pub we have to switch the Sub to something different.
|
|
0:29:46
|
And we always swap increment multicast on IP address,
|
|
0:29:54
|
never on port number.
|
|
0:29:56
|
One: routers don't route multicast, any multicast traffic based on port number.
|
|
0:30:01
|
They route them based on IP address.
|
|
0:30:05
|
Ok, so we need to have that. That's very important.
|
|
0:30:11
|
Also it's really hard to troubleshoot based on port number.
|
|
0:30:14
|
We always just want to leave this 16384 and use IP address.
|
|
0:30:19
|
Ok, so we'll say save.
|
|
0:30:27
|
Ok, we'll go back to the list. We'll grab MOH_3
|
|
0:30:30
|
Actually before I do this, I'm going to go back to my MRG.
|
|
0:30:34
|
And I want to you to take a look at the Pub versus the Sub.
|
|
0:30:39
|
So I open Pub here and...
|
|
0:30:43
|
It actually doesn't show updated.
|
|
0:30:45
|
Hand on, let me go back to MOH server.
|
|
0:30:48
|
Pub
|
|
0:30:50
|
and for some reason this didn't take.
|
|
0:30:52
|
Let me press save.
|
|
0:30:59
|
Update says successful. Let me do a reset.
|
|
0:31:05
|
And let me actually jump out of it and back into it just to make sure it did take
|
|
0:31:08
|
this time.
|
|
0:31:10
|
Yes. Enable multicast. Ok.
|
|
0:31:12
|
So now I'll go up to MRG.
|
|
0:31:16
|
And I'm going to open Pub and Sub.
|
|
0:31:19
|
Notice that Pub now says MOH as the name
|
|
0:31:24
|
parentheses MOH, the type of device it is.
|
|
0:31:27
|
And then -- sorry left and right brackets
|
|
0:31:30
|
is where it says multicast.
|
|
0:31:32
|
But if I go over to the Sub, it still does not say multicast.
|
|
0:31:37
|
It's not multicast enabled.
|
|
0:31:39
|
Ok, so if I try to click use multicast here
|
|
0:31:42
|
it's going to give me an error for the Sub, but if I try to click it on the Pub
|
|
0:31:46
|
which is multicast enabled, it doesn't give me an error.
|
|
0:31:51
|
Also remember, just because an MOH server is allowed
|
|
0:31:55
|
or if I go back to the actual wording for it
|
|
0:32:01
|
I'll go into three
|
|
0:32:03
|
just because I enable multicasting does not mean I'm telling it to use
|
|
0:32:07
|
multicasting, this is just enabling it.
|
|
0:32:09
|
If I go ahead and say save here, it's going to give me an error
|
|
0:32:13
|
up at the top saying that the two MOH servers cannot use the same
|
|
0:32:16
|
base IP address and port number.
|
|
0:32:19
|
So just unclick it and reclick it or tick it so that it populates this again.
|
|
0:32:26
|
And I'm just going to change either the second octet to .2
|
|
0:32:29
|
or the third octet.
|
|
0:32:31
|
I'll change the second octet today.
|
|
0:32:33
|
You never want to change -- and always increment on IP
|
|
0:32:35
|
never want to change the last digit.
|
|
0:32:39
|
We never want to just -- that was the base. We never want to just do this .2
|
|
0:32:42
|
And here's the reason.
|
|
0:32:44
|
Note down here this says increment multicast on
|
|
0:32:48
|
port number or IP address.
|
|
0:32:50
|
What are we incrementing?
|
|
0:32:52
|
What are we incrementing?
|
|
0:32:54
|
Well we're incrementing based on the stream. We might have more
|
|
0:32:56
|
than one fixed or static music on hold audio source.
|
|
0:33:03
|
But it actually goes a little bit further than that.
|
|
0:33:06
|
So I am just going to add this second octet to two.
|
|
0:33:09
|
And do save.
|
|
0:33:11
|
And make sure it said update successful.
|
|
0:33:13
|
Again if it ever sandwiches device information or whatever
|
|
0:33:16
|
this is, up against the save and you lose the whole status area,
|
|
0:33:20
|
it doesn't say update successful, try to press save again.
|
|
0:33:23
|
It could be that you had multiple tabs open or something like that.
|
|
0:33:25
|
And I will go ahead and reset this.
|
|
0:33:32
|
And I'm going to jump out and jump back in just to make sure it saved that.
|
|
0:33:37
|
Ok, so what are we incrementing?
|
|
0:33:39
|
Let's go up to our actual audio source.
|
|
0:33:45
|
And currently we only have the one default sample audio source.
|
|
0:33:48
|
Index number one.
|
|
0:33:50
|
And here's where we can allow multicasting.
|
|
0:33:53
|
So again, the source file is allowing it.
|
|
0:33:56
|
The server is enabling it.
|
|
0:33:58
|
Neither of which are forcing a phone to use it. It's only
|
|
0:34:02
|
once we go to the MRG and click the tick box for use
|
|
0:34:06
|
that we actually force phones to use multicast.
|
|
0:34:10
|
And again, a single -- just to drive home the point
|
|
0:34:15
|
a single MOH server using a single source file
|
|
0:34:19
|
can be enabled for multicasting at both the server and source
|
|
0:34:22
|
and be in two separate MRGs.
|
|
0:34:24
|
Let me just demonstrate that real quick and then I'll come back and
|
|
0:34:26
|
show the increment.
|
|
0:34:28
|
So I've got a multicasting source. If I go back to my server
|
|
0:34:34
|
I see that not only the server is enabled, but now that I enabled
|
|
0:34:38
|
or allowed multicasting on the source
|
|
0:34:40
|
it now has multicast specific attributes namely the maximum
|
|
0:34:48
|
number of hops or the time to live, maximum number of router connections
|
|
0:34:51
|
it can go through, but once I do those two
|
|
0:34:55
|
it does not force.
|
|
0:34:57
|
In fact what I'm going to do is I'm going to copy
|
|
0:35:02
|
this Pub and one I'm going to call
|
|
0:35:06
|
unicast music on hold.
|
|
0:35:10
|
And say save.
|
|
0:35:11
|
And notice this is the multicast enabled, but I do not have use selected.
|
|
0:35:17
|
And I'm going to go back and modify my other one to be
|
|
0:35:21
|
underscore multicast or MMOH
|
|
0:35:25
|
and I am going to select use multicast.
|
|
0:35:30
|
So now -- and another thing to note, when I go back to the find MRG
|
|
0:35:35
|
this table here
|
|
0:35:38
|
not only tells me the name, but it also tells me or gives me a
|
|
0:35:41
|
column for multicast.
|
|
0:35:43
|
So I can see that my MRG for software Pub MMOH
|
|
0:35:47
|
has true multicast enabled.
|
|
0:35:55
|
But my MRG software Pub U or Unicast MOH is false for multicast.
|
|
0:36:04
|
And I'm not necessarily saying that you should do
|
|
0:36:09
|
all of this for every single lab scenario.
|
|
0:36:13
|
If you just do it and get quick at it
|
|
0:36:15
|
I personally do and obviously I'm when I'm just going through setting
|
|
0:36:21
|
something up very quickly, I'm not talking about it
|
|
0:36:23
|
so it takes me a lot less time to key everything in.
|
|
0:36:28
|
But I always set up a software Sub U, unicast music on hold
|
|
0:36:33
|
and then I just hit copy, it's quite simple, change the U to an M
|
|
0:36:37
|
for multicast or whatever naming convention suits you
|
|
0:36:40
|
press use
|
|
0:36:41
|
save
|
|
0:36:42
|
go back
|
|
0:36:43
|
and now I've always got four of these.
|
|
0:36:46
|
Two that are multicast enabled for Pub and Sub and two
|
|
0:36:49
|
that are unicast for Pub and Sub.
|
|
0:36:51
|
And then when it comes to my MRGL, I can move them around however I need
|
|
0:36:55
|
and if I realize that I read the exam wrong and actually needed more
|
|
0:37:00
|
possibilities, you know I need to enable something for multicast
|
|
0:37:04
|
that previously I hadn't done, I have everything created
|
|
0:37:07
|
I have my structure created.
|
|
0:37:09
|
This is part of what I recommend as a strategy is that you create
|
|
0:37:12
|
everything in a very quick manner and you do it the same exact way
|
|
0:37:19
|
if possible, you do it the same exact way every time you study
|
|
0:37:22
|
no matter what lab exam you're going to get
|
|
0:37:25
|
no matter what content you're going to get
|
|
0:37:26
|
that way you have the basic framework, the structure that you're going to need
|
|
0:37:31
|
to use regardless of whatever kind of curve ball or different requirement
|
|
0:37:39
|
the lab that you happen to be studying with or actually on
|
|
0:37:42
|
in the real lab scenario, whatever it might throw at you, you're ready
|
|
0:37:47
|
you're prepared, you've got your framework and you can
|
|
0:37:49
|
call upon your framework at any time.
|
|
0:37:52
|
Ok, so
|
|
0:37:55
|
once you get to things like calling search spaces and partitions
|
|
0:37:58
|
to some degree I still recommend the same. It obviously can
|
|
0:38:02
|
very quickly get a little ridiculous. In other words, you could go
|
|
0:38:06
|
way overboard and create way too much of an infrastructure
|
|
0:38:09
|
and framework for CSSs and partitions
|
|
0:38:11
|
so sometimes you do need to be a little more conservative with those.
|
|
0:38:18
|
Ok, so currently all of these are setup for the unicast.
|
|
0:38:22
|
Actually no.
|
|
0:38:23
|
Depending on how I did copy and paste
|
|
0:38:26
|
it looks like I have Sub unicast and Pub multicast.
|
|
0:38:32
|
So we'll take a look at these in a moment once I'm done.
|
|
0:38:34
|
But moving back to the audio source file.
|
|
0:38:40
|
And we were talking about increment on IP address,
|
|
0:38:42
|
so what are we incrementing on?
|
|
0:38:43
|
Well if I have more than one audio source file
|
|
0:38:47
|
which of course I would need to upload if I wanted to have more than one
|
|
0:38:53
|
any time that I upload a audio source file.
|
|
0:39:02
|
Maybe I add a new audio source file and I... Let's say I just add
|
|
0:39:08
|
a wave file or an mp3 or something
|
|
0:39:12
|
and I'm actually going to need that to be in a specific codec,
|
|
0:39:16
|
so for G.711 I might need it to be CCIT ulaw
|
|
0:39:22
|
8 kilohertz 8 bit mono
|
|
0:39:29
|
and for G.729 I need all these specifics
|
|
0:39:32
|
for the way that the file is encoded so that it can be played to
|
|
0:39:37
|
the remote device in that way as well
|
|
0:39:41
|
because the server isn't going to do the transcoding on the fly right?
|
|
0:39:44
|
We've already talked about that, it would have to invoke a transcoder.
|
|
0:39:46
|
And by the way, transcoders can only be invoked for unicast,
|
|
0:39:49
|
not for multicast files.
|
|
0:39:52
|
The transcoders currently don't speak the multicast
|
|
0:39:55
|
or they can't relay it.
|
|
0:39:56
|
So the MOH audio translator service which is now a subset of the
|
|
0:40:02
|
IP Voice Media Streaming service.
|
|
0:40:03
|
That automatically transcodes in software one time any file
|
|
0:40:09
|
that I upload as a audio source file for music on hold.
|
|
0:40:13
|
And you can see the output file list.
|
|
0:40:17
|
The output file is I uploaded sample audio source.wav
|
|
0:40:20
|
well that was included by default, but let's say I did and it transcoded it
|
|
0:40:25
|
to sample audio source.ulaw.wav
|
|
0:40:29
|
It transcoded one to G.711 alaw
|
|
0:40:32
|
just a different companding type of course.
|
|
0:40:35
|
G.729 and the wide band.
|
|
0:40:39
|
It actually produced four separate files
|
|
0:40:42
|
and so those are four separate multicast streams that can be sent.
|
|
0:40:47
|
There are also four separate unicast streams obviously,
|
|
0:40:49
|
but we don't care about IP address other than the unicast IP of the actual server
|
|
0:40:55
|
when we're speaking of unicast.
|
|
0:40:57
|
So with multicast, we're incrementing on IP address not only for the source file,
|
|
0:41:02
|
but also for each additional codec, so if I start with 239.1.1.1,
|
|
0:41:08
|
then sample audio source ulaw is .1
|
|
0:41:14
|
sample audio source alaw is .2
|
|
0:41:17
|
sample audio source -- let me just add this here
|
|
0:41:21
|
so this is .1
|
|
0:41:24
|
this is .2
|
|
0:41:25
|
.3 and these are in order
|
|
0:41:28
|
and .4
|
|
0:41:30
|
and then if I had let's say MOH song 2
|
|
0:41:38
|
or whatever I wanted to add as my next audio source
|
|
0:41:42
|
I would have dropped it in and it would translate it to ulaw.wav
|
|
0:41:49
|
same file name .alaw.wav
|
|
0:41:54
|
same file name .g729.wav
|
|
0:42:01
|
and same file name .wb for wide band .wav
|
|
0:42:07
|
And these would be 239.1.1 or in the case of the Subscriber
|
|
0:42:15
|
.2 for the second octet dot
|
|
0:42:19
|
so I already had 1, 2, 3, and 4 so this would be .5
|
|
0:42:27
|
.6
|
|
0:42:28
|
.7
|
|
0:42:29
|
and .8
|
|
0:42:32
|
Ok, so this is the whole incrementing on IP address and this also the reason
|
|
0:42:37
|
that I can't make the Pub 239.1.1.1
|
|
0:42:43
|
and the Sub 239.1.1.2
|
|
0:42:48
|
for the host bit
|
|
0:42:50
|
because it would directly run into what the Pub is using for
|
|
0:42:53
|
an already created sample audio source alaw.wav
|
|
0:42:59
|
Ok, so that's the increment.
|
|
0:43:06
|
So I've got my MOH audio source set. I've got my server set.
|
|
0:43:12
|
And I've got two different MRGs for each server. One for unicast and one for multicast.
|
|
0:43:21
|
So it's time to decide what we actually want to do with the music.
|
|
0:43:25
|
So let's go ahead and say... Let's stream multicast G.711
|
|
0:43:30
|
to corporate headquarters.
|
|
0:43:33
|
In fact let's just draw it out here real briefly.
|
|
0:43:41
|
Let's say that we've got our corporate headquarter WAN.
|
|
0:43:46
|
We've got MOH_2 which is our Pub.
|
|
0:43:53
|
And we've got MOH_3 which is our Sub.
|
|
0:43:57
|
And we've got a few phones here.
|
|
0:44:05
|
And we've got our WAN router.
|
|
0:44:26
|
Ok, and we've got our Branch 2 subnet with phones.
|
|
0:44:34
|
And we've got our Branch 1 subnet with phones.
|
|
0:44:38
|
We've also got links to the PSTN.
|
|
0:44:52
|
So we've got our PRI here, we don't have these setup yet, but we will.
|
|
0:44:58
|
And we're going to need to stream music on hold out to those as well.
|
|
0:45:05
|
So let's say that we want to
|
|
0:45:08
|
stream for
|
|
0:45:13
|
MOH to corporate headquarter devices
|
|
0:45:17
|
such as the PRI and the phones.
|
|
0:45:21
|
We want to stream multicast music on hold
|
|
0:45:26
|
at G.711
|
|
0:45:32
|
We'll use a different color and say that for Branch 1
|
|
0:45:37
|
we want to stream multicast music on hold
|
|
0:45:42
|
at G.729
|
|
0:45:48
|
And for our Branch 2 sites
|
|
0:45:53
|
for our Branch 2 site we want to stream multicast --
|
|
0:45:58
|
unicast is easy -- multicast music on hold at G.711,
|
|
0:46:03
|
but we actually want the MOH, the multicast MOH to be sourced
|
|
0:46:10
|
from this router here.
|
|
0:46:12
|
So it's actually going to serve the phones.
|
|
0:46:15
|
The CUCM is just going to tell the phones to join the proper group.
|
|
0:46:21
|
But it's not actually going to be using the WAN bandwidth
|
|
0:46:24
|
and in fact, what we'll do is
|
|
0:46:27
|
here we've got our PVC
|
|
0:46:33
|
or our two PVCs, our sub interface for serial .1
|
|
0:46:37
|
and our serial sub interface for .2
|
|
0:46:40
|
We're essentially going to take multicast or IP pim dense mode
|
|
0:46:49
|
and we're going to turn it off for the Branch 2 site
|
|
0:46:54
|
oops
|
|
0:47:00
|
but for the Branch 1 site we're going to leave it enabled.
|
|
0:47:03
|
Ok, so that will stop multicast from routing out to Branch 2
|
|
0:47:08
|
because we turned it off. We simply disable it.
|
|
0:47:10
|
We can disable it here as well.
|
|
0:47:12
|
No IP pim
|
|
0:47:16
|
It wouldn't really matter because it's not going to be leaving the
|
|
0:47:18
|
corporate headquarter site.
|
|
0:47:24
|
Ok, so let's do that first.
|
|
0:47:27
|
Corporate Headquarter let's do sh run | in multicast
|
|
0:47:34
|
and we see we have multicast routing enabled.
|
|
0:47:37
|
Let's do sh run begin with interface.
|
|
0:47:47
|
Ok, we don't have anything on our loopback.
|
|
0:47:49
|
We do have pim dense mode on the server VLAN.
|
|
0:47:51
|
We also have it on the Voice VLAN, so that's going to allow
|
|
0:47:54
|
the traffic to come from the servers out to the corporate
|
|
0:47:58
|
headquarter phones.
|
|
0:48:02
|
We for our serial main interface.
|
|
0:48:07
|
No IP address.
|
|
0:48:10
|
Here we've got our sub interfaces. One to Branch 1
|
|
0:48:14
|
we're going to leave pim dense mode on
|
|
0:48:15
|
to Branch 2 we're going to take pim dense mode off
|
|
0:48:24
|
So no ip pim dense mode
|
|
0:48:28
|
and we'll just do sh run
|
|
0:48:34
|
to that interface and notice that it's gone.
|
|
0:48:37
|
Ok, we are also going to say ccm manager music on hold.
|
|
0:48:43
|
That is necessary on -- we don't know what type of gateway this
|
|
0:48:46
|
is going to be because we don't have any PRI or digital circuit or
|
|
0:48:50
|
FXO, FXS setup yet, but regardless of what kind it's going to be
|
|
0:48:54
|
we're going to need this command if we're streaming multicast
|
|
0:48:57
|
music on hold to this gateway
|
|
0:49:00
|
to the PSTN.
|
|
0:49:02
|
Ok, Router 2 which is Branch 1 sh run | in multicast|pim
|
|
0:49:12
|
and we should have IP multicast routing and two interfaces where
|
|
0:49:16
|
pim dense mode is.
|
|
0:49:17
|
Ok, let's see what those interfaces are.
|
|
0:49:23
|
Not the loopback.
|
|
0:49:25
|
Ok, not the Branch 1 phone which actually we're on
|
|
0:49:28
|
this is where our phone is, but not on that interface. Why?
|
|
0:49:31
|
Because currently this is a Layer 2 only interface.
|
|
0:49:35
|
If I said no switch port, it would be a Layer 3 interface.
|
|
0:49:38
|
But it's a Layer 2, so it's got a VLAN.
|
|
0:49:41
|
And the VLAN has a VLAN interface or a SVI Switch Virtual Interface.
|
|
0:49:46
|
That's where the Layer 3 is. That's where pim goes. It's a Layer 3 protocol.
|
|
0:49:51
|
Ok, our physical serial not there.
|
|
0:49:53
|
Our logical Layer 3 serial, there's our pim dense mode right here
|
|
0:49:58
|
on the VLAN interface pim dense mode.
|
|
0:50:01
|
So we can get out to those phones.
|
|
0:50:03
|
Ok, that looks good.
|
|
0:50:05
|
And then on Router 3 let's do sh run | in multicast
|
|
0:50:11
|
and what about |in pim
|
|
0:50:15
|
Ok, we don't want it on anything.
|
|
0:50:17
|
No IP multicast routing.
|
|
0:50:20
|
Now you might say, "Well wait a minute, aren't you going to spoof it
|
|
0:50:22
|
from the router? You're still going to need the router to produce the multicast."
|
|
0:50:26
|
That's true the router will be the source.
|
|
0:50:29
|
But multicast routing or actually just routing in general
|
|
0:50:32
|
indicates that we're coming in an interface and then leaving an interface.
|
|
0:50:36
|
We're routing from one interface to another.
|
|
0:50:40
|
If the 'router' itself is the source, it's not 'routing' traffic
|
|
0:50:46
|
well per se. It's not taking it in one interface and then sending it out another.
|
|
0:50:51
|
It is the source.
|
|
0:50:52
|
So it's simply flooding it out any interface that we tell it to.
|
|
0:50:57
|
Ok, and we'll see that here in just a moment.
|
|
0:51:02
|
In fact we could go ahead and configure it.
|
|
0:51:04
|
Let's configure telephony service.
|
|
0:51:08
|
And let's say -- so we're starting up CME.
|
|
0:51:11
|
Maybe this would be CME as SRST which is eventually what we will use.
|
|
0:51:16
|
We have to at least say max ephones.
|
|
0:51:19
|
I'm sorry max-ephones 1
|
|
0:51:24
|
and max-DNs 1
|
|
0:51:27
|
Now we can change this later to increase to whatever we need
|
|
0:51:30
|
for our scenario, but for now you have to at least have
|
|
0:51:34
|
one of each even though we won't have any ephones or DNs registering for this.
|
|
0:51:40
|
We have to have an IP source address,
|
|
0:51:42
|
so by the way, these are just the basic commands to get CME up and running.
|
|
0:51:47
|
IP source address of let's do the loopback.
|
|
0:51:50
|
So 177.1.254.3, we're on Branch 2 which is Router 3
|
|
0:51:57
|
Ok, do sh ip int br | in loopback
|
|
0:52:06
|
Ok, so there was our IP address, that's where we pulled that from.
|
|
0:52:10
|
From loopback 0
|
|
0:52:13
|
And create CNF files
|
|
0:52:16
|
Ok, so do sh | s telephony or tele
|
|
0:52:23
|
and we've got our base
|
|
0:52:27
|
the max conference and transfer system are added by default.
|
|
0:52:31
|
So we've got our base configuration for CME.
|
|
0:52:34
|
CME is up and running. do sh telephony service
|
|
0:52:40
|
We see that CUCM version 7.0(1) is online.
|
|
0:52:47
|
Ok, so still within telephony service we're going to do --
|
|
0:52:51
|
first of all we need to know where a music on hold file is on our local flash.
|
|
0:52:56
|
Or it could actually be out at TFTP.
|
|
0:52:58
|
A really great way to manage this for a large deployment
|
|
0:53:02
|
is have all your MOH files out on a TFTP
|
|
0:53:06
|
even across the WAN, it's fine. It's not a problem.
|
|
0:53:10
|
Or at the local site if you're worried about maybe having
|
|
0:53:13
|
a lot of WAN failures or something like that.
|
|
0:53:16
|
And just use rsync to keep everything in sync between servers.
|
|
0:53:22
|
But having everything across the WAN is not a problem.
|
|
0:53:24
|
Why? Because it's not going to go out and pull the MOH file
|
|
0:53:28
|
via TFTP every single time it needs to play it.
|
|
0:53:31
|
In fact it's only going to pull the file
|
|
0:53:34
|
when I say moh and then give the file name
|
|
0:53:37
|
Oh, that's right I forgot. This particular IOS version only allows it to be in flash.
|
|
0:53:42
|
A lot of things in IOS allow them to be in TFTP.
|
|
0:53:46
|
And -- or via TFTP host.
|
|
0:53:51
|
And whenever it does, like BACD and actually MOH in future
|
|
0:53:56
|
IOS which is not what's in the lab 15. loads
|
|
0:54:00
|
You can have them across TFTP and it will only pull it when the router
|
|
0:54:05
|
first boots up and first processes the configuration.
|
|
0:54:09
|
It pulls it into running memory and then it keeps it there
|
|
0:54:12
|
until the router reloads again or until you take the command
|
|
0:54:15
|
away and put it back, but I forgot for the version that we have in the lab
|
|
0:54:19
|
it's not going to allow you.
|
|
0:54:21
|
So moh and we'll just use whatever's in Flash.
|
|
0:54:25
|
So let's do, do sh flash | in and because I'm going to use a dot
|
|
0:54:35
|
I have to escape that dot for regular expression .wav
|
|
0:54:40
|
Sorry not .wav, let's look for .au
|
|
0:54:48
|
And we note that this could be a .wav or .au file.
|
|
0:54:52
|
By the way, if you need to create a custom either
|
|
0:54:55
|
music on hold or BACD or prompts or anything like that
|
|
0:54:59
|
and load them into a router's flash, you can use the telephone
|
|
0:55:02
|
as the microphone to record, you can use unity connection
|
|
0:55:06
|
or unity express, I prefer unity express,
|
|
0:55:11
|
to record your file and then save it
|
|
0:55:14
|
to your local candidate desktop or XP test utility machine.
|
|
0:55:18
|
It will save it in .wav format, but you can rename it to .au
|
|
0:55:22
|
if that's what the particular, like let's say BACD script requires
|
|
0:55:28
|
and it will work just fine.
|
|
0:55:30
|
Ok, so we do have music on hold in the route directory.
|
|
0:55:34
|
We also have BACD music on hold. It's in the BACD directory.
|
|
0:55:39
|
We could use either one. It really doesn't matter.
|
|
0:55:41
|
They are different files, so if we wanted to keep -- if we're
|
|
0:55:44
|
going to use BACD later, we want to keep everything synonymous.
|
|
0:55:47
|
It might not be a bad idea to just use this file.
|
|
0:55:50
|
So moh
|
|
0:55:53
|
and it's no problem.
|
|
0:55:55
|
Ok, we don't have to say flash: we do have to include the file structure
|
|
0:55:58
|
this directory if we're using something that's not in the route directory.
|
|
0:56:04
|
Ok, so here's our config so far with our MOH added
|
|
0:56:08
|
for telephony service and now we need to add the multicast command.
|
|
0:56:12
|
So multicast music on hold and we're going to say where is it going to come from.
|
|
0:56:18
|
It's going to come from the same IP address.
|
|
0:56:21
|
I'm sorry this isn't the source. This is the multicast address.
|
|
0:56:25
|
So what multicast group or IP address is going to be used to serve the MOH?
|
|
0:56:31
|
Well, now we need to decide
|
|
0:56:36
|
where the file is going to be coming from or what server is going to be
|
|
0:56:40
|
primarily telling the phone to play the music on hold.
|
|
0:56:45
|
If you recall, we had originally set up that for our MRGL
|
|
0:56:50
|
for Branch 2 which is what we're looking at.
|
|
0:56:53
|
We have the Sub first.
|
|
0:56:55
|
And we have unicast.
|
|
0:56:56
|
So we need to change that to Sub multicast.
|
|
0:56:59
|
In fact all of these need to be changed to Sub and Pub multicast for both.
|
|
0:57:04
|
But the Sub is first.
|
|
0:57:09
|
So let's go change all the MRGLs first.
|
|
0:57:14
|
Corporate Headquarters
|
|
0:57:16
|
let's do Sub multicast and have it first
|
|
0:57:23
|
for the Branch 1 just to change, have a little change and variation.
|
|
0:57:30
|
Let's have the Pub multicast first.
|
|
0:57:32
|
And then the Sub.
|
|
0:57:41
|
And you know what, just so we can test everything, for Branch 1
|
|
0:57:45
|
we're going to have Pub first and then we're going to have Sub
|
|
0:57:47
|
as unicast so that we can test unicast as well.
|
|
0:57:53
|
That'll help us test the transcoder actually as well.
|
|
0:57:55
|
Ok, so once we shut down the Pub MOH server
|
|
0:57:58
|
it will force the unicast to use G.729 over the WAN
|
|
0:58:03
|
and it will be forced to use a transcoder, so we can test that for media as well.
|
|
0:58:07
|
Alright, I don't remember if I hit save.
|
|
0:58:10
|
Good.
|
|
0:58:12
|
Ok, but again for the Branch 2 which is what we are on
|
|
0:58:15
|
we're at Sub multicast.
|
|
0:58:17
|
So if we look back at the MOH server
|
|
0:58:21
|
for the Sub which is underscore 3
|
|
0:58:26
|
it is 239.2.1.1 and that is for sample audio source G.711 ulaw
|
|
0:58:36
|
239.2.1.2 would be for sample audio source G.711 alaw.
|
|
0:58:45
|
If we have G.729, it would be 239.2.1.3 because we're incrementing
|
|
0:58:53
|
on IP address and it's important because getting the right IP address
|
|
0:58:58
|
is what we're going to need to give as the IP address for here.
|
|
0:59:01
|
Now, we had said in our example that we were going to use G.711,
|
|
0:59:08
|
but is it ulaw or alaw?
|
|
0:59:10
|
Well, typically for Voice over IP we use G.711 ulaw almost everywhere.
|
|
0:59:16
|
Even in European countries that use G.711 alaw, those are typically used for
|
|
0:59:22
|
coming off of, or how we compand actually on the voice port itself.
|
|
0:59:29
|
But for Voice over IP we typically use ulaw.
|
|
0:59:33
|
It depends, do whatever the lab tells you.
|
|
0:59:37
|
Ok, so we're going to just choose to use ulaw
|
|
0:59:40
|
which means that it will be 239.2.1.1,
|
|
0:59:46
|
so the base.
|
|
0:59:47
|
Now, currently that won't work because our device pool
|
|
0:59:51
|
for the MOH server is corporate headquarter and the device pool
|
|
0:59:57
|
for Branch 2 phones is device pool Branch 2.
|
|
1:00:04
|
And if I go check out that device pool, I've got region Branch 2
|
|
1:00:09
|
whereas the corporate headquarter has region corporate headquarter.
|
|
1:00:11
|
So let's go check out the region matrix.
|
|
1:00:16
|
Region Branch 2 to corporate headquarter says, 'Use G.729'
|
|
1:00:21
|
Now I could change this and say, 'Use G.711'
|
|
1:00:26
|
So now region Branch 2 is setup to use G.711
|
|
1:00:33
|
between it and corporate headquarter. That works great for music on hold,
|
|
1:00:36
|
but the problem is, that's also changing the settings for all normal calls as well.
|
|
1:00:40
|
And that's not what I want.
|
|
1:00:43
|
So I am going to change this back to G.729
|
|
1:00:49
|
So Branch 2 to corporate headquarter G.729
|
|
1:00:52
|
and what I'm going to end up doing is I'm going to go back to my
|
|
1:00:56
|
corporate headquarter
|
|
1:00:58
|
because I'm going to make a change that is specific for...
|
|
1:01:03
|
Hang on.
|
|
1:01:04
|
That is specific for -- Ok there we go.
|
|
1:01:07
|
For the MOH server.
|
|
1:01:10
|
And I'm actually going to... Ok
|
|
1:01:14
|
I thought I could do a copy here.
|
|
1:01:18
|
But no copies for regions. Ok.
|
|
1:01:21
|
So I'm just going to... Whoops I clicked that again.
|
|
1:01:23
|
I'm going to click add new and I'm going to do
|
|
1:01:25
|
region underscore corporate HQ MOH
|
|
1:01:33
|
Ok, this is only for MOH servers.
|
|
1:01:36
|
And I'm going to say -- now we need to go back and look real briefly
|
|
1:01:39
|
at our drawing.
|
|
1:01:42
|
We want to use G.711 for corporate headquarter.
|
|
1:01:45
|
So for the region
|
|
1:01:53
|
region corporate headquarter for MOH
|
|
1:01:57
|
This is going to be put into -- or actually I should draw it this way.
|
|
1:02:04
|
This is going to be put into the device pool
|
|
1:02:06
|
for corporate headquarter MOH
|
|
1:02:10
|
Ok, so these two are going to be linked
|
|
1:02:13
|
and this device pool is going to be what's on the MOH servers.
|
|
1:02:17
|
So for it to the standard corporate headquarter device pool or region
|
|
1:02:22
|
we want G.711
|
|
1:02:25
|
For the region for corporate headquarter to Branch 1
|
|
1:02:29
|
we want 729,
|
|
1:02:31
|
but for the region corporate headquarter MOH to
|
|
1:02:33
|
Branch 2 we want 711.
|
|
1:02:40
|
Ok, hopefully you're following.
|
|
1:02:42
|
So for Branch 1 we want 729.
|
|
1:02:50
|
But for Branch 2 and corporate headquarter phones
|
|
1:02:53
|
and we might as well do ourselves as well,
|
|
1:02:54
|
so from ourselves to ourselves
|
|
1:02:58
|
we want 711.
|
|
1:03:01
|
Ok, so MOH servers to corporate headquarter regular phones
|
|
1:03:05
|
do 711 and to Branch 2 spoof 711.
|
|
1:03:09
|
They basically tell the phones to subscribe at 711 which
|
|
1:03:14
|
forces the use of not only the 711 codec
|
|
1:03:18
|
which is all kept there on the Branch 2 local subnet,
|
|
1:03:23
|
but it also forces the issue of the IP address to be 239.2.1.1
|
|
1:03:30
|
which is imperative that we have this IP whatever IP is
|
|
1:03:34
|
going to be selected by the servers. First of all, selected by which server?
|
|
1:03:38
|
The Sub.
|
|
1:03:40
|
And then selected as the codec IP because
|
|
1:03:44
|
that's what we need to put here and they have to match.
|
|
1:03:48
|
So again over to the region.
|
|
1:03:50
|
We've set this up.
|
|
1:03:52
|
Now we're going to -- let's just go back
|
|
1:03:57
|
drop into it, make sure everything looks proper.
|
|
1:03:59
|
It does. I could reset it, but there's no associated devices.
|
|
1:04:02
|
I'm going to go to device pool.
|
|
1:04:05
|
And I'm going to take and I'm going to copy
|
|
1:04:08
|
the device pool for corporate headquarters because the MOH servers
|
|
1:04:11
|
are going to share all the rest of the same attributes.
|
|
1:04:14
|
Sub, Pub, date time group, region is going to be with change
|
|
1:04:18
|
MRGL, location...
|
|
1:04:21
|
So I'm going to copy and I'm going to call the new one underscore MOH.
|
|
1:04:26
|
And I'm going to change the region to corporate headquarter MOH.
|
|
1:04:33
|
And we will go back. Here's my corporate headquarter MOH.
|
|
1:04:38
|
And now I'm going to -- I've already been in this server and
|
|
1:04:41
|
I had a new tab opened, so I actually have to go back and drop down into it again.
|
|
1:04:45
|
And I'm going to change the device pool to corporate headquarter MOH.
|
|
1:04:49
|
This is what's going to force
|
|
1:04:53
|
and this is for the Pub
|
|
1:04:54
|
this is what's going to force me to use the proper codecs
|
|
1:04:58
|
as we just described for each of the different sites.
|
|
1:05:01
|
So save.
|
|
1:05:05
|
Reset.
|
|
1:05:09
|
And I'm going to go back to the Sub.
|
|
1:05:12
|
I could have reset them both together. In the real lab that's certainly what
|
|
1:05:16
|
I would have done. Save me some time.
|
|
1:05:18
|
Actually personally just another tactic that I like to employ
|
|
1:05:23
|
is in the real lab I'm not obviously talking through everything.
|
|
1:05:28
|
And if I just sat here and configured everything the way
|
|
1:05:30
|
that I would configure it in the real lab it might get very confusing
|
|
1:05:34
|
because of how I would not be talking, be flying really fast
|
|
1:05:39
|
and combining a lot of different things together
|
|
1:05:41
|
although we have thought about doing a video like that
|
|
1:05:45
|
where I just configure everything. Let's say on like a mock lab.
|
|
1:05:49
|
And then later I go back and do a voice over, but I show it
|
|
1:05:52
|
actually being done verified, tested and troubleshot in under eight hours
|
|
1:05:58
|
hopefully about six to seven
|
|
1:06:00
|
and try to do a very quick voice over later, but not talk at the same time,
|
|
1:06:05
|
so we'll consider that. It's actually something that we have on the plans
|
|
1:06:09
|
to do, just haven't done that quite yet. It should come soon.
|
|
1:06:13
|
But in real life if I was really doing a mock lab scenario
|
|
1:06:18
|
testing myself or the way that I like to -- the way that I did take the exams
|
|
1:06:23
|
was I would go and set everything up, provision everything
|
|
1:06:27
|
not ever hit reset and then once I was done
|
|
1:06:31
|
provisioning everything, there might need to be a few things that were
|
|
1:06:35
|
tested and tweaked and changed understandably later.
|
|
1:06:39
|
And for those after I changed them I would hit reset as I went along.
|
|
1:06:42
|
But that's after testing revealed that something didn't work.
|
|
1:06:45
|
But initially I wouldn't hit reset on everything because it opens a new box
|
|
1:06:49
|
you have to then click another button again, so it's button, open the box
|
|
1:06:53
|
click the button again, wait a quick second
|
|
1:07:00
|
and then close. And it's just, it takes time and all that adds up.
|
|
1:07:02
|
So what I like to do is configure everything, not reset anything
|
|
1:07:05
|
and then just go reset both of, restart, literally utils system restart
|
|
1:07:11
|
on both the servers while I -- right before I go to lunch
|
|
1:07:14
|
or if I'm not quite done with everything before I go to lunch
|
|
1:07:20
|
do that and then switch over to another router and begin
|
|
1:07:24
|
double checking my work or working on something else while those restart
|
|
1:07:26
|
and then once they come back online, they've reset everything
|
|
1:07:30
|
CTI manager, all the Tomcat services for IPMA or tenant console or whatever
|
|
1:07:36
|
you might need, all of your CCM, it's reset all your gateways
|
|
1:07:41
|
everything and you just have to remember to go out to your MGCP
|
|
1:07:43
|
gateway, say no MGCP, MGCP which we'll get to in a moment
|
|
1:07:47
|
and then everything is reset all at once. It's all golden crystal clear clean.
|
|
1:07:52
|
Everything's been reset together, nothing's causing
|
|
1:07:54
|
any negative interactions with each other and then test.
|
|
1:07:57
|
So that's just one tactic I like to employ.
|
|
1:08:00
|
So now we know that this will be 239.2.1.1 and now we need to say
|
|
1:08:06
|
the port which we can just copy this.
|
|
1:08:10
|
Whoops.
|
|
1:08:14
|
Copy 16384
|
|
1:08:17
|
and now we need to say route command, so here is where we
|
|
1:08:20
|
want to say route out or really flood.
|
|
1:08:25
|
We're the source, but flood out to the different interfaces where
|
|
1:08:30
|
people are going to be subscribing. And this is going to be an incomplete
|
|
1:08:33
|
command because I want to do sh ip int br | ex unas
|
|
1:08:40
|
and we've got the voice subnet.
|
|
1:08:42
|
And you actually have to use -- the default is to use the IP source
|
|
1:08:46
|
address configured which is the loopback which would be fine for
|
|
1:08:50
|
maybe adding in PSTN traffic, but for
|
|
1:09:00
|
for the phones we're going to need to have the interface where
|
|
1:09:05
|
the phones live and we actually have to put this in by IP address.
|
|
1:09:08
|
So I'm going to bring up this whole command again multicast MOH 239.2.1.1
|
|
1:09:13
|
port 16384 route out both the loopback for PSTN and space
|
|
1:09:19
|
we can define multiples out the sub interface for the Voice VLAN.
|
|
1:09:28
|
Ok, so let's end this, write our router config,
|
|
1:09:31
|
clean off our screen,
|
|
1:09:34
|
and we are going to do sh run or sh run at his point | s tele
|
|
1:09:41
|
and here we've got everything for SRST setup including our two
|
|
1:09:46
|
multicast music commands.
|
|
1:09:50
|
We've already taken the sub interface.
|
|
1:09:52
|
No.
|
|
1:09:55
|
Yep, we've already taken the pim dense mode off of the
|
|
1:09:58
|
Branch 2 sub interface, so that should be ready to go.
|
|
1:10:02
|
And at this point we should be fairly ready to test.
|
|
1:10:07
|
If I do sh ip mroute here on the corporate headquarter's router
|
|
1:10:11
|
I'm going to see that I have 239.1.1.1 with no -- with asterisk
|
|
1:10:17
|
so anyone.
|
|
1:10:18
|
I've got an outgoing interface list because I formed a pim neighbor.
|
|
1:10:25
|
I have no incoming interface list yet.
|
|
1:10:27
|
I also have 239.1.1.1 listed with the static or unicast IP address.
|
|
1:10:35
|
So 239.1.1.1 is the G.711 codec, G.711 ulaw
|
|
1:10:42
|
specifically codec for the Publisher.
|
|
1:10:46
|
So this is coming in the server VLAN.
|
|
1:10:49
|
And possibly out the serial interface, so no one is really listening yet.
|
|
1:10:56
|
No one's subscribed, but it is dense mode.
|
|
1:10:59
|
So it's going to flood it everywhere.
|
|
1:11:02
|
So likewise, over on Branch 1 sh ip mroute because it's dense mode.
|
|
1:11:07
|
Ok, I actually haven't done any subscribe yet, so I haven't started flooding it yet.
|
|
1:11:11
|
Once I do a subscribe, we should see it.
|
|
1:11:17
|
Actually, yeah I think I checked this sh run interface vlan 1
|
|
1:11:22
|
or not 1, sorry vlan 11
|
|
1:11:25
|
Yes, we do have pim dense mode. Ok.
|
|
1:11:29
|
And did we put CCM manager? I don't think we did.
|
|
1:11:31
|
CCM manager music on hold on the Branch 1 router as well.
|
|
1:11:36
|
We don't have a gateway turned up just yet, but we will.
|
|
1:11:39
|
Let's go ahead and do that here as well
|
|
1:11:45
|
for the Branch 2
|
|
1:11:47
|
Ok, I also have
|
|
1:11:53
|
239... Where is it?
|
|
1:11:55
|
239.2.1.1 mapped to the unicast address of 177.1.10.20, the Subscriber.
|
|
1:12:04
|
Ok, now I don't have any other codecs that are blasting out advertisements.
|
|
1:12:10
|
So let's go ahead and enable the service parameters for Pub
|
|
1:12:21
|
IP voice media streaming app
|
|
1:12:23
|
and note that these are cluster wide, so if I enable G.711
|
|
1:12:30
|
well sorry G.711 ulaw is there by default.
|
|
1:12:32
|
If I hold down control and hit G.729 NXA,
|
|
1:12:37
|
it's going to come up and tell me that my music is going to sound terrible.
|
|
1:12:41
|
Be aware this codec is optimized for speech, the fidelity of music is marginal.
|
|
1:12:44
|
In other words, your music will suck if you choose to do the G.729 codec
|
|
1:12:50
|
which we're not really advising. Say Ok.
|
|
1:12:54
|
And accept the consequences.
|
|
1:12:57
|
We will, we'll say save which by the way since I've been doing this
|
|
1:13:01
|
and it takes effect for all servers, so I don't need to go up and choose
|
|
1:13:05
|
the Sub as well. I had said that we...
|
|
1:13:08
|
Whoops.
|
|
1:13:09
|
I accidentally unselected something, but if I go back it should still...
|
|
1:13:15
|
There we go. Supported MOH codecs. G.711 ulaw and 729 is enabled.
|
|
1:13:24
|
It will not force a transcoder for the unicast when we do Branch 1
|
|
1:13:28
|
fallback to the Pub unicast because I've enabled it.
|
|
1:13:31
|
Ok, it's natively going to stream that unicast.
|
|
1:13:34
|
It would only be if I turned it off.
|
|
1:13:37
|
So I spoke a little too soon earlier.
|
|
1:13:40
|
And if I turned it off, then it would not work for multicast
|
|
1:13:45
|
because a transcoder won't work for multicast, so we can't really have both.
|
|
1:13:51
|
So now it's time to test.
|
|
1:13:54
|
Actually, now that I've enabled G.729 let's go back and reset our MOH servers.
|
|
1:14:06
|
And once I've reset these
|
|
1:14:08
|
I should begin to see that my mroute
|
|
1:14:11
|
is going to include additional routes.
|
|
1:14:14
|
So I've got 239.1.1.1, .1 the host or
|
|
1:14:20
|
actual group is going to be for the G.711 ulaw from the Publisher
|
|
1:14:25
|
and now I've also got
|
|
1:14:28
|
239. let's see maybe that server hadn't reset yet.
|
|
1:14:34
|
Ok maybe it's just going to show it in a different order.
|
|
1:14:37
|
239.1.1.1, 711 from the Publisher
|
|
1:14:40
|
239.2.1.3 so Subscriber and 729
|
|
1:14:47
|
and then here we go. 239.1.1.3 so Publisher and G.729
|
|
1:14:54
|
and 239.2.1.1 so G.711 and Subscriber.
|
|
1:15:01
|
Ok, so I've got four separate streams two from each server.
|
|
1:15:11
|
Ok, so let's bring up our RTMT.
|
|
1:15:17
|
Sure let's do that real quick.
|
|
1:15:28
|
Ok, let's bring this up for our XP machine.
|
|
1:15:33
|
And let's bring up performance monitor statistics
|
|
1:15:36
|
for -- remember we're still doing it on .20
|
|
1:15:40
|
because we're still registered to the Subscriber.
|
|
1:15:45
|
But we're going to do it for our MOH device.
|
|
1:15:50
|
So let's look at multicast resource active
|
|
1:15:53
|
for Pub and Sub.
|
|
1:15:58
|
And multicast resource available -- nah, let's not even bring up available.
|
|
1:16:01
|
Let's bring up out of resources for Pub and Sub.
|
|
1:16:06
|
And unicast resources active for Pub and Sub.
|
|
1:16:12
|
Now, out of resources is going to be important to
|
|
1:16:17
|
help us with troubleshooting.
|
|
1:16:19
|
But there's another way that we can guarantee that we know
|
|
1:16:23
|
when out of resources for Pub or Sub
|
|
1:16:26
|
has gone from a value of zero which it's not out of resources
|
|
1:16:30
|
to a value of 1, it's out of resources.
|
|
1:16:35
|
The way that we can know is if we hear tone on hold,
|
|
1:16:40
|
so if we were supposed to hear music on hold and instead
|
|
1:16:44
|
we heard beep beep beep, then this indicates that
|
|
1:16:49
|
we have a server configuration issue.
|
|
1:16:53
|
A server configuration error.
|
|
1:16:54
|
If it's unicast, maybe it's that a transcoder is required, but not available.
|
|
1:16:59
|
Or the codec requested is not enabled.
|
|
1:17:03
|
If it's multicast,
|
|
1:17:08
|
there aren't a lot of things that do it for multicast. There are probably a few.
|
|
1:17:12
|
But it indicates a server configuration issue.
|
|
1:17:15
|
Now the...
|
|
1:17:20
|
If we instead went to hear -- to put someone on hold and
|
|
1:17:24
|
they didn't hear anything. They heard silence.
|
|
1:17:26
|
This indicates an infrastructure issue.
|
|
1:17:29
|
Ok, MOH out of resources will only flip to one if you're also hearing
|
|
1:17:36
|
the tone on hold, the beep beep beep
|
|
1:17:38
|
indicating a server configuration issue.
|
|
1:17:41
|
The dead silence or dead air, the infrastructure issue
|
|
1:17:47
|
you won't see out of resources flip to one.
|
|
1:17:50
|
And this either mean that you have pim dense mode not provisioned properly
|
|
1:17:55
|
on an interface or CCM manager was not turned on.
|
|
1:17:59
|
If you're going out to the PSTN or that you didn't have
|
|
1:18:04
|
IP multicast routing enabled
|
|
1:18:05
|
or there's actually one other thing that deals with an infrastructure issue,
|
|
1:18:09
|
but it's configured on the server and that is
|
|
1:18:13
|
the MOH maximum number of hops.
|
|
1:18:20
|
Now, first of all if you're studying and you're renting rack time from
|
|
1:18:24
|
any one of the vendors out there, from us or anyone else
|
|
1:18:28
|
chances are you're going over IPSec to connect
|
|
1:18:31
|
if you actually have hardware phones
|
|
1:18:33
|
chances are you're going over IPSec or even if you're using software phones,
|
|
1:18:37
|
then you're probably using SSL.
|
|
1:18:44
|
And you're not going to get multicast to work with IPSec
|
|
1:18:50
|
at least the version in Cisco's EzVPN.
|
|
1:18:53
|
Ok, it's incompatible.
|
|
1:18:56
|
Later versions of IPSec which aren't yet supported in Cisco's EzVPN
|
|
1:19:01
|
or the way that we connect routers and even IPSec clients, software clients
|
|
1:19:09
|
have been enhanced to support multicast, but again they're not
|
|
1:19:12
|
supported by EzVPN, so if you have hardware phones
|
|
1:19:15
|
and you're renting a remote rack time, you're not going to hear multicast
|
|
1:19:18
|
music on hold at your side.
|
|
1:19:19
|
If you're using soft based phones, you're also not going to hear it,
|
|
1:19:24
|
but if you are using remote control phones, while you won't hear any audio
|
|
1:19:28
|
for anything, you can tell that your remote control phones
|
|
1:19:33
|
have been receiving multicast music on hold.
|
|
1:19:36
|
So let's go ahead and open up -- and that's because the phones
|
|
1:19:40
|
are actually at each site in the topology.
|
|
1:19:46
|
And you of course are just remotely controlling those phones.
|
|
1:20:06
|
Ok, so let's bring up these phones. Here's corporate headquarter phone 2.
|
|
1:20:19
|
Branch 1 Phone 1
|
|
1:20:22
|
and Branch 2 Phone 2
|
|
1:20:32
|
And one of the ways that you can tell is if you go to call stats
|
|
1:20:37
|
you can see where the destination and local IP addresses are.
|
|
1:20:42
|
Right now we're not in a call. If I call over to 1002 is what we have brought up.
|
|
1:20:48
|
Dial the number.
|
|
1:20:51
|
And I go mute.
|
|
1:20:53
|
And I answer the call and then go mute.
|
|
1:20:57
|
On both of these call stats I've got or at least should
|
|
1:21:03
|
once it updates properly here.
|
|
1:21:14
|
Ok.
|
|
1:21:17
|
It's not showing me my current...
|
|
1:21:24
|
information. By the way if you click on the hardware tab, you have message waiting
|
|
1:21:28
|
you can tell that.
|
|
1:21:30
|
For some reason the call stats are not updating.
|
|
1:21:34
|
It's showing that I'm connected at G.729 which is correct.
|
|
1:21:37
|
It's showing me my local IP address. It's showing me connected
|
|
1:21:40
|
whereas this phone is not connected and its currently call stats is showing idle.
|
|
1:21:48
|
But it's for some problem communicating to the phone
|
|
1:21:51
|
and it's not getting its...
|
|
1:21:56
|
Ok.
|
|
1:21:57
|
That's why it's not getting all the information because it looks like
|
|
1:22:00
|
there's an issue. Let's just go take a look at our user and
|
|
1:22:04
|
make sure it's associated
|
|
1:22:10
|
with all the phones.
|
|
1:22:11
|
It is.
|
|
1:22:16
|
Ok.
|
|
1:22:25
|
Hmm, not sure why it's not showing that, well
|
|
1:22:28
|
it should be showing the destination. It normally does.
|
|
1:22:31
|
I'll have to take a look at that in
|
|
1:22:35
|
in a little bit.
|
|
1:22:37
|
Not really sure why it's doing that right now.
|
|
1:22:42
|
Let's see.
|
|
1:22:44
|
We had corporate headquarter phone 2
|
|
1:22:49
|
I'm just... for making the call.
|
|
1:22:54
|
And a Branch 2 phone.
|
|
1:23:12
|
Ok.
|
|
1:23:17
|
So let's go ahead and put someone on hold.
|
|
1:23:20
|
Actually let's bring -- Yeah let's...
|
|
1:23:25
|
So let's have the Branch 1 Phone 1
|
|
1:23:27
|
put the corporate headquarter phone 2 on hold.
|
|
1:23:30
|
So Corporate Headquarter Phone 2 will be the phone that is
|
|
1:23:33
|
requesting or needing the MOH.
|
|
1:23:36
|
So it will pull it from the MOH servers which are at corporate headquarters.
|
|
1:23:42
|
Ok, so let's press hold.
|
|
1:23:46
|
First of all I'll turn the volume up.
|
|
1:23:49
|
And you can hear the music on hold.
|
|
1:23:53
|
If we go take a look at our corporate headquarter router
|
|
1:23:56
|
sh ip mroute | s let's see 239.
|
|
1:24:05
|
well let's just actually do sh ip mroute
|
|
1:24:15
|
Ok, we should be pulling this from the Sub
|
|
1:24:18
|
and it should be... Here we go.
|
|
1:24:20
|
So we're pulling it from the Sub 239.2.1.1
|
|
1:24:24
|
it's coming in from the server
|
|
1:24:27
|
and it's going out not only to the serial where there's a dense mode
|
|
1:24:30
|
and the reason it's done that is because formed a pim neighbor,
|
|
1:24:33
|
but it's also going out to Fast Ethernet 0/0.11
|
|
1:24:38
|
it's being forwarded for 32 seconds now
|
|
1:24:40
|
if we jump into the corporate headquarter switch
|
|
1:24:44
|
we can do a sh igmp
|
|
1:24:48
|
sorry sh ip igmp memberships
|
|
1:24:55
|
and do we have it turned on?
|
|
1:25:03
|
We do have it turned on for 11
|
|
1:25:11
|
Actually let's do... is it port?
|
|
1:25:15
|
Sorry group.
|
|
1:25:16
|
No.
|
|
1:25:25
|
Not snooping.
|
|
1:25:34
|
Huh, I'm not sure why we're not showing any IGMP membership there.
|
|
1:25:45
|
Ok, we do see it coming out. Let's take a look at RTMT which
|
|
1:25:48
|
will be the defative whether it's multicast or unicast.
|
|
1:25:52
|
Our unicast for Pub and Sub are both at zero.
|
|
1:25:55
|
Our multicast for underscore 3 which is the Sub, underscore 2 is the Pub
|
|
1:25:59
|
is set to a value of 1
|
|
1:26:01
|
so we do know that we have been or we are selected
|
|
1:26:08
|
the Subscriber and multicast stream.
|
|
1:26:14
|
Ok, we're going to go ahead and go back to the phone.
|
|
1:26:17
|
And resume.
|
|
1:26:19
|
And we'll put it on mute.
|
|
1:26:22
|
There we go. Sorry for the feedback.
|
|
1:26:24
|
And now I'm going to put on hold the other way,
|
|
1:26:27
|
so corporate headquarter is going to put the Branch 1 phone on hold.
|
|
1:26:30
|
And actually let me just go back and do hold here real quick.
|
|
1:26:34
|
Let's go to call stats.
|
|
1:26:36
|
Notice how -- if I had my destination...
|
|
1:26:40
|
I don't know why it's not showing up, but it would show up properly,
|
|
1:26:42
|
but notice how my local has changed from my own IP address to 239.2.1.1
|
|
1:26:48
|
Remember that multicast works in a reverse path tree
|
|
1:26:51
|
Ok, so essentially in a sense, I am this IP.
|
|
1:26:55
|
I'm really I'm joining this group.
|
|
1:26:57
|
For all intents purposes I've joined the group which others
|
|
1:27:00
|
can join too or others can join as well
|
|
1:27:03
|
of 239.1.1.1, so Subscriber second octet, last octet
|
|
1:27:09
|
G.711 ulaw, so that's one way that you can also confirm
|
|
1:27:14
|
multicast traffic.
|
|
1:27:16
|
If I do resume and then quickly do mute,
|
|
1:27:21
|
then once this refreshes I'll see this switch back to my local
|
|
1:27:25
|
IP address and there it is.
|
|
1:27:27
|
177.1.11.16, Ok
|
|
1:27:33
|
So now I'm going to have the corporate headquarter phone
|
|
1:27:35
|
put the Branch 1 phone on hold which should also be multicast.
|
|
1:27:41
|
Ok, so it's on hold.
|
|
1:27:42
|
Let me turn it up.
|
|
1:27:45
|
It's all the way up.
|
|
1:27:47
|
Let's see if the server thinks it's multicast.
|
|
1:27:49
|
It does from the Publisher. Remember we ordered the
|
|
1:27:51
|
Publisher first for Branch 1
|
|
1:27:54
|
it thinks it's playing multicast. It's gone to one.
|
|
1:27:56
|
Remember we were doing it from the Subscriber earlier
|
|
1:27:59
|
when the corporate headquarter phone was picking that up.
|
|
1:28:03
|
So multicast thinks that it's playing or the server thinks that it's playing multicast.
|
|
1:28:09
|
However, the server itself
|
|
1:28:13
|
I'm sorry the phone itself is not receiving it.
|
|
1:28:15
|
Let's go across to our corporate headquarter
|
|
1:28:17
|
and do sh ip mroute
|
|
1:28:19
|
and actually let's...
|
|
1:28:24
|
Let's clear this off.
|
|
1:28:26
|
We know we're serving from the Pub
|
|
1:28:28
|
underscore 2, so we know it's going to be 239.1.1.something
|
|
1:28:33
|
It should be G.729
|
|
1:28:35
|
So let's do a sh ip mroute | s 239.1.1.3
|
|
1:28:46
|
and we see that we have traffic coming in from the server
|
|
1:28:49
|
and going out the serial.
|
|
1:28:51
|
What about Router 2 Branch 1?
|
|
1:28:54
|
sh ip mroute
|
|
1:28:58
|
We've got 239.1.1.3 that is we have a request for it
|
|
1:29:01
|
from Vlan 11,
|
|
1:29:05
|
but there is no incoming interface.
|
|
1:29:09
|
Ok, so we don't really know where that is.
|
|
1:29:11
|
And the reason relates back to media resources
|
|
1:29:16
|
music on hold server
|
|
1:29:19
|
and we're coming from the Pub that's right, so Pub
|
|
1:29:22
|
and the fact that my max hops I never changed it beyond two.
|
|
1:29:28
|
Ok, so let's just break this down real briefly.
|
|
1:29:33
|
Let's use yellow...
|
|
1:29:37
|
Let's use brown.
|
|
1:29:38
|
Ok, so I've got my -- here's the interface that it's coming in.
|
|
1:29:42
|
Count that because that's where it's sourced from.
|
|
1:29:44
|
But here's my hop 1
|
|
1:29:48
|
and hop 2
|
|
1:29:50
|
Actually no, I'm sorry this is hop 1
|
|
1:29:53
|
and hop 2
|
|
1:29:54
|
So we've essentially got two hops
|
|
1:29:59
|
that it's coming in the server vlan interface
|
|
1:30:04
|
and going out the serial. I need a third hop for it to go across.
|
|
1:30:08
|
I don't have to count the egress.
|
|
1:30:10
|
But I need a third hop, so
|
|
1:30:18
|
if I change this to three
|
|
1:30:21
|
and press save
|
|
1:30:26
|
now it's not going to do it right away,
|
|
1:30:31
|
but this server has been reset and actually...
|
|
1:30:34
|
There we go.
|
|
1:30:35
|
It looks like it reset itself. Of course I don't see anything updated here.
|
|
1:30:39
|
I can change my polling rate
|
|
1:30:42
|
to 10 seconds down to a minimum of 5
|
|
1:30:44
|
or maximum refresh of 5
|
|
1:30:48
|
And I'm probably not going to see it until I stop this
|
|
1:30:54
|
this source and resume it, so let's resume.
|
|
1:30:58
|
and mute.
|
|
1:30:59
|
And then let's do resume.
|
|
1:31:02
|
And if I go to call stats over here, I should see 239.1.1.3
|
|
1:31:06
|
I do.
|
|
1:31:07
|
And my RTMT shows the Publisher.
|
|
1:31:11
|
Multicast has gone to a value of 1
|
|
1:31:13
|
for resource, multicast resource active.
|
|
1:31:18
|
And I should over on my terminal on Branch 1
|
|
1:31:23
|
see that I have 239.1.1.3
|
|
1:31:29
|
coming from the unicast of the Pub.
|
|
1:31:31
|
Incoming interface is serial 0/0/1:0.1
|
|
1:31:35
|
and my vlan 11 voice interface is my oil or outgoing interface list.
|
|
1:31:41
|
Ok, so everything's working properly there as well.
|
|
1:31:50
|
So I'm going to go ahead and just end this call at this point.
|
|
1:31:53
|
Ok, so we've taken care of multicast for two servers
|
|
1:32:00
|
or for two sites rather.
|
|
1:32:05
|
We haven't tested backup. We could do that.
|
|
1:32:18
|
Ok, let's place the call. Go mute.
|
|
1:32:22
|
And we're going to
|
|
1:32:24
|
go back over here to this server and let's say...
|
|
1:32:29
|
Let's go up to... Well let's actually just take for the Publisher
|
|
1:32:34
|
server, so MOH_2
|
|
1:32:38
|
which is where we will play it if we play it over to Branch 1
|
|
1:32:41
|
Let's set the run flag to no.
|
|
1:32:43
|
Save.
|
|
1:32:44
|
So it'll be the same thing as shutting down the...
|
|
1:32:50
|
the IP Voice Media Streaming App for this server
|
|
1:32:53
|
except that annunciator still works and this is much faster.
|
|
1:32:57
|
So run flag is set to no.
|
|
1:33:02
|
So if you see down here at the bottom
|
|
1:33:04
|
in red the RIS data collector service
|
|
1:33:07
|
stopped to monitor the following counters and it's basically saying
|
|
1:33:11
|
MOH_2
|
|
1:33:17
|
MOH_2 multicast resource active
|
|
1:33:21
|
MOH_2 out of resources,
|
|
1:33:22
|
unicast, all of those.
|
|
1:33:28
|
Ok, the Subscriber should still work. So let's bring up our phones.
|
|
1:33:33
|
Let's place on hold.
|
|
1:33:40
|
And when I turn my volume up.
|
|
1:33:45
|
So hopefully you can hear that audio.
|
|
1:33:46
|
Call stats shows that it's
|
|
1:33:52
|
still shows that it's coming from local.
|
|
1:34:11
|
Ok, and we've gone to unicast
|
|
1:34:16
|
rather than multicast.
|
|
1:34:18
|
But it's for underscore 3
|
|
1:34:20
|
because remember we selected unicast.
|
|
1:34:22
|
So it shows that it's coming from local because
|
|
1:34:25
|
or that is our local address because we're not using multicast.
|
|
1:34:31
|
So if we also switch over to our router
|
|
1:34:33
|
Router 2, whoops
|
|
1:34:38
|
and do sh ip mroute
|
|
1:34:41
|
we've got our 239.1.1.3 that's 729 from the Pub.
|
|
1:34:46
|
There's no outgoing interface list.
|
|
1:34:50
|
We've got our 239.1.1.3, yep that's it.
|
|
1:34:52
|
So there's no outgoing interface list.
|
|
1:34:54
|
So we do not have anything from the Sub.
|
|
1:34:57
|
We don't have anything from the Pub in terms of multicast because it is unicast.
|
|
1:35:10
|
Ok, we'll end that call.
|
|
1:35:13
|
And now let's place a call over to the
|
|
1:35:20
|
3002
|
|
1:35:23
|
to the Branch 2 site.
|
|
1:35:26
|
And we'll go mute on.
|
|
1:35:31
|
And we'll answer this call.
|
|
1:35:34
|
And we'll go mute.
|
|
1:35:37
|
Ok, so we've got...
|
|
1:35:46
|
So now the big test.
|
|
1:35:47
|
We need to go hold on Branch 1 Phone 1
|
|
1:35:50
|
so it's the 'holder' to put the Branch 2 phone as the 'holdee'
|
|
1:35:54
|
or the one that's actually on hold.
|
|
1:36:03
|
Ok, so we hear music on hold.
|
|
1:36:08
|
We can see the group is 239.2.1.1,
|
|
1:36:13
|
but we can probably tell that this is a different file.
|
|
1:36:21
|
Ok, by the way, codec sent receive G.729 and G.711
|
|
1:36:24
|
so sent G.729 it will stay on whatever the last codec was
|
|
1:36:29
|
that was used, so that was the last one that was transmitted
|
|
1:36:32
|
right now we're not transmitting anything, we're only receiving G.711
|
|
1:36:36
|
The last transmit sent and received was 729 and 729
|
|
1:36:44
|
because when the two were talking to each other, this was
|
|
1:36:47
|
receiving 729 as well as sending, but right now it's receiving 711
|
|
1:36:52
|
for the .1 G.711 music on hold from .2 the Subscriber,
|
|
1:36:58
|
but -- let's go over to Branch 2 Router 3
|
|
1:37:05
|
Is there any show ip mroute?
|
|
1:37:10
|
No multicast going out at all.
|
|
1:37:12
|
sh run | multicast
|
|
1:37:20
|
We heard some studder tone because of the processing on the router,
|
|
1:37:23
|
but the only multicast command is in the telephony service settings.
|
|
1:37:29
|
That file is coming from flash.
|
|
1:37:30
|
sh ccm manager sorry not sh ccm manager
|
|
1:37:36
|
sh ephone
|
|
1:37:42
|
space
|
|
1:37:46
|
ephone space
|
|
1:37:49
|
or sorry it would be debug, not show.
|
|
1:37:53
|
debug ephone moh
|
|
1:38:00
|
if I can type
|
|
1:38:01
|
Ok, let's actually stop this music.
|
|
1:38:13
|
So let's go to resume.
|
|
1:38:19
|
And mute.
|
|
1:38:23
|
Ok, so we're going to do debug ephone moh.
|
|
1:38:26
|
show... Yep we're getting information back
|
|
1:38:31
|
that it's flooding out MOH interface loopback 0 and Fast Ethernet 0/0.11
|
|
1:38:40
|
waiting for request, so now we'll do hold again
|
|
1:38:51
|
So we see that it's abled to be flooded out
|
|
1:38:56
|
those interfaces.
|
|
1:39:12
|
Whoops
|
|
1:39:24
|
and we also see that corporate headquarter has a traceback
|
|
1:39:27
|
sh ip mroute
|
|
1:39:34
|
this phone on 239.2.1.1
|
|
1:39:37
|
so let's do a | s 239.2.1.1
|
|
1:39:42
|
and we don't see that it's flooding out .2
|
|
1:39:45
|
It's coming out .1 which is the Branch 1, but not out .2
|
|
1:39:49
|
So this has worked to spoof it across the WAN.
|
|
1:39:51
|
No WAN bandwidth is being used.
|
|
1:39:54
|
Of course that phone thinks that it's G.711
|
|
1:39:58
|
And I went ahead and killed the call.
|
|
1:40:03
|
Ok, so we've pretty much looked at everything except for transcoding.
|
|
1:40:08
|
We certainly could do that
|
|
1:40:11
|
by -- first of all let's bring up our RTMT to include monitoring of transcoders.
|
|
1:40:25
|
Here we go. Transcode device. Cisco transcode device.
|
|
1:40:28
|
And let's do resource active
|
|
1:40:31
|
for all three routers.
|
|
1:40:34
|
And...
|
|
1:40:36
|
let's go back to the server, tell the run flag to be yes
|
|
1:40:40
|
for this Pub.
|
|
1:40:44
|
And then let's go back to System> Service Parameters
|
|
1:40:47
|
>IP Voice Media Streaming App and let's disable G.729
|
|
1:40:51
|
This will break it for...
|
|
1:40:55
|
for multicast.
|
|
1:40:57
|
Actually, I'm sorry I did want to leave that MOH server
|
|
1:41:01
|
for Pub.
|
|
1:41:06
|
Set to run flag no
|
|
1:41:07
|
because we want to do unicast and we want to do a transcoder.
|
|
1:41:11
|
So let's do this.
|
|
1:41:13
|
Let's go back and reset both of these servers.
|
|
1:41:19
|
Ok, those are reset.
|
|
1:41:22
|
One shows unregistered.
|
|
1:41:26
|
So now we're going to...
|
|
1:41:30
|
again make a call between these two phones.
|
|
1:41:40
|
Go mute on both.
|
|
1:41:41
|
And we're going to put this Branch 1 Phone 1 on hold.
|
|
1:41:49
|
And we hear the music on hold.
|
|
1:41:53
|
We see that we have underscore 3, the Subscriber unicast resource active.
|
|
1:41:57
|
And we also see that we have a transcoder active.
|
|
1:42:02
|
And it's on corporate headquarters because
|
|
1:42:04
|
it's the MOH server that needs the transcoding.
|
|
1:42:08
|
So it's 711 between the MOH server and the transcoder on the same subnet,
|
|
1:42:11
|
same LAN
|
|
1:42:14
|
maybe not same subnet, well actually that is
|
|
1:42:16
|
because the router is listening to all the subnets.
|
|
1:42:19
|
And it's 729 across the WAN over to the Branch 1 phone.
|
|
1:42:26
|
And if I resume that call...
|
|
1:42:30
|
Go mute and then just go back to the service parameters
|
|
1:42:35
|
and re-enable that codec.
|
|
1:42:39
|
Say save.
|
|
1:42:42
|
Go back to my MOH servers.
|
|
1:42:44
|
Reset my servers even though the Pub is still down.
|
|
1:42:50
|
Ok, currently there's no resources active
|
|
1:42:53
|
transcoder or MOH unicast.
|
|
1:42:57
|
And then I go back and say hold again
|
|
1:43:00
|
over to Branch 1
|
|
1:43:06
|
it's now hearing the unicast music on hold,
|
|
1:43:09
|
but there's no transcoder being invoked and this is where we were at before
|
|
1:43:13
|
because the G.729 is a native codec.
|
|
1:43:20
|
And I'll go and end the call.
|
|
1:43:25
|
And I'm going to go ahead and run flag back to true.
|
|
1:43:30
|
Or yes for anything else that we might be doing for the rest of the time.
|
|
1:43:35
|
And I'll just reset the servers again, so we're back to G.729 and 711
|
|
1:43:39
|
enabled and both servers set to run
|
|
1:43:42
|
once they reset.
|
|
1:43:45
|
Ok, so are there any questions on music on hold?
|