cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
325
Views
6
Helpful
10
Replies

Moving files between UCM Server and SFTP for MoH

infrastructure
Level 1
Level 1

I have figured out how to use the file get command to move a file(s) FROM the UCM Publisher TO my SFTP server in order to clean up some space which I need to put a new MoH file on there for use at one of our Car-Lots. 

file get activelog /mohprep <filename>.  it prompts me with questions for the sftp server such as Ip, login, etc.  Perfect.  so NOW i have two questions. 

FIRST:  EACH of my MoH files has 4 iterations of .wav files.  .ulaw.wav, .alaw.wav, g729.wav and wb.wav.  my experience tells me that we are PROBABLY using the ULAW .wav as is required on the UCN IVR's, etc. but can I safely delete the others without causing a problem?  And how do I know for CERTAIN that we're using the ULAW file (yes, the UCM GUI says I have no more space available for a new MoH file.)

SECOND:  I can't figure out how to move the new file FROM the tftp server (running on my desktop) TO the UCM Server via CLI so I can "upload it" in the MoH GUI in UCM.  There doesn't seem to be a "File" command for this?  Can anyone help me?

Brent Mossberger

brent.mossberger@car-mart.com

479-254-7785 desk

 

 

 

 

10 Replies 10

b.winter
VIP
VIP

IMHO, you cannot always be 100%, that you only use 1 specific codec in every scenario. So, deleting just a flavor of your MoH-File maybe breaks some calls.

For upload:
It's done via GUI. That's what it's for.
"Media Ressources" --> "MoH Audio Source", add a new source and upload the audio-file. CUCM will automatically convert the file with the different codecs.
You have to upload the audio file on every node (that is running the IPVM streaming app service)

In the service parameters for the IP Voice Media Streaming App service you can specify which codecs will be used for MoH. (Then you have to reset the service.) Once you do that, when you upload new MoH the system will only produce the files for the codec specified. Generally speaking, you will need the MoH files for the codecs you are using in your system. If you have, for instance, a custom Audio Codec Selection list that preferences G711ulaw above all else, all dial peers on gateways and CUBEs specify G711ulaw, and you have only one Region for all objects, chances are excellent that this will be the only codec you use. However, as @b.winter pointed out, you don't know what's going to happen in the future or in some corner-case so limiting codecs here is of little value since the MoH files are generally so small.

And, yes, MoH files can be uploaded directly from your PC to CUCM via the GUI. Your files do need to be (last I looked) WAV files that are 16-Bit PCM. If your MoH files are some other format, a handy website for conversion is https://g711.org/ or you can use an audio tool like Audacity. Here is a post with more information:

Configuring custom media files for Music On Hold 

I do have a question, though.... MoH files are not particularly big unless they are unusually long. Have you looked at log or trace file size if disk space is an issue? If you have an SFTP server you can run a job to move log/trace files off to the SFTP server so they don't fill up the disk. There are some other techniques you can use, too. Is this the underlying issue you need to address or did I miss this?

Maren

@Maren Mahoney you're completely right about the MoH selection in the service parameter. Completely forgot about that ...

i was able to upload the file despite the "out of space" message.  i uploaded it on my publisher and both subscribers and to test i changed User On Music on Hold Audio Source (Call Routing -> Route Plan Report -> (Found my deskphone number), and modified the source.  But I still have no music on hold when i call my desk from my cell and put myself on hold. i just get silence. i think i got the format right when i exported (using Audacity) from .mp3 to 48kHz, WAV (Microsoft), Signed 16-bit PCM.  i noticed there are multiple places to set the MoH per user, is there a specific place i should be doing it at??

 

User MoH Audio Source is when a user presses the Hold button, and Network MoH Audio Source is used when a user presses a feature button (like Transfer) that causes the current call to be placed on hold automatically by CUCM.

In the CallManager Service parameters you will have a system-wide default MoH audio source for each. The next level (if I remember correctly) is set at the Common Phone Profile for a group-level setting. Then you can configure MoH on the phone and finally on the line. CUCM looks in that order (Default - Group - Device - Line) to determine which MoH to play and the last one that is customized wins. So if you make no selections other than the Service Parameter everyone gets the default, but if you configure it on the Phone you will get that.

Some things to check:

  • Do you have the MoH servers in a Media Resource Group/Media Resource Group List structure? If so, then any object that needs access to MoH will need to have an appropriate MRGL configured either via the Device Pool or on the object itself - and I'm thinking of the SIP Trunk itself for this.
  • Do you have the "MTP Required" checkbox checked on your SIP Trunk? MTPs can interfere with MoH.
  • Do you have a firewall between your CUBE/router and the PSTN?
  • Have any changes been made from the defaults on the Music On Hold server configuration page itself? 
  • And I have to ask the basic question: You uploaded the file to all three servers. Is the IP Voice Media Streaming App Service running on all three or just one?

If all of this checks out, you may need to look at the 'debug ccsip messages' on the router to see what CUCM is telling the router about playing MoH. Is it negotiating the right codec based on the dial-peer codec? Does the MoH play from a different node than the call itself and, if so, is the router successfully communicating with that system? Is the CUBE/router accepting the change from "a=sendrecv" of the phone call itself to the "a=recvonly" when MoH is streamed from CUCM through your router? Is it 'liking' that change or not?

Check your system first. If all looks good then capture the debug ccsip messages and take a look. If you need help parsing the debug, feel free to post it here (as a TXT attachment please!) and we can take a look.

Maren

Ok, I'll try to figure out how to check those things, but the short answer is that we already have MoH operating system wide and it's been fine for a long time. (and still is).   I have a few phones that require a "different" MoH message than all the other phones in the company.  So I'm just trying to get THOSE phones using the newly uploaded MoH.

 

 

I misunderstood your original question. Don't worry about those things just yet.

If you selected the index number for the new music on hold audio Source on one server, be aware that you need to repeat that process by manually logging into each node's GUI individually and mapping that audio file to that audio source number.

The device putting a call on hold will use its configuration to tell CUCM what index number is to be retrieved, and the device that is being put on hold will use its Media Resource Group List to determine from where it should get that music. If the index number indicated on the holder's device does not exist as an index number on the server the holdee goes to you will get dead air.

If you do the mappings on all three servers and you still get dead air, try restarting the IP Voice Media Streaming App service on all three, and since you uploaded downloaded files using SFTP it might not hurt to restart the TFTP service on any node that is running that service. It is unlikely that's the issue, but it's an easy thing to check.

Give that a try and let us know what happens.

Maren

infrastructure
Level 1
Level 1

I apologize for my lack of familiarity with some of the terms here.  I am an old router/switch guy who kind of got thrown into this.  I have double checked all three servers (pub and both subscribers) and under the Media Resources -> MoH Audio Source it shows three "Audio Streams" as shown below.  The configuration for all three is identical.  Stream number 5 (CentralAutoMoH) is the new one and stream number 10 is the one running everywhere currently.

infrastructure_0-1718813763677.png

infrastructure_1-1718813829015.pnginfrastructure_2-1718813879627.png

As you can see I believe the configuration for both streams is identical.  (they are like this on all three servers)

 

 

 

Understood. If you have not already, do restart both the IPVMSA service and the TFTP service on any node running those just to be thorough. But I suspect you already have.

You've done all the 'things'. It's time for trace file analysis. The Media Resource Manager will be invoked when MoH is initiated and we will need to see how the MRM is 'thinking' about which index number to stream and from where it should be streamed via the MRGL on the phone being put on hold.

Can you post a CallManager trace file and an IPVMSA trace file that includes the call? Please choose two phones that are registered to the same node. (This will reduce the number of files to analyze for the call itself.) Please include the trace from all three nodes so we can be sure to capture the MRM on the node providing the MoH itself.

When you post the files, please save them as TXT files and upload those files as attachments to your post. This will make analysis easier.

Maren

infrastructure
Level 1
Level 1

here is a snapshot of the test phones line config as well.  my other test phone has both user and network selected

infrastructure_3-1718814085243.png