Carlos,
the mechanism described in the link I provide above works as follows:
- when a call needs MOH, then the PBX will create a call to the MOH provider
- the MOH provider is configured in PBX/Config/General/Music On Hold URL
- if it is empty (or the word MOH), the default (built-in) provider is used
- if it is configured to an invalid URL, silence is used
- if it is configured to an existing URL, the content of this URL is retrieved and used as MOH
For the URL, there some variables defined (see the wiki article). For example, let us assume your PBX user object has the Name property set to Carlos. When I call you (and my Name property is set to Christoph), then I could define the Music On Hold URL property as
http://my.fileserver.tld/somepath/moh-%h.$coder?coder=g729,g711a,g711u,g723&repeat=true&fallback=ringback
This will do the following for the call's MOH:
- the %h will be replaced by your Name: http://my.fileserver.tld/somepath/moh-Carlos.$coder?coder=g729,g711a,g711u,g723&repeat=true&fallback=ringback
- the PBX will off me (the caller) music on hold with g729,g711a,g711u and g723 codec
- my phone will choose one of those (let us assume g.729)
- the PBX will replace $coder by g729: http://my.fileserver.tld/somepath/moh-Carlos.g729?coder=g729,g711a,g711u,g723&repeat=true&fallback=ringback
- the PBX will retrieve the content of http://my.fileserver.tld/somepath/moh-Carlos.g729
- if this succeeds (the file is accessible), it will play its contents as MOH to me
- once the file ends, it will start all over again (due to the repeat=true)
- if it does not succeed, it will instead play a ringback tone (due to the fallback=ringback)
On your file server (http://my.fileserver.tld/somepath), you thus need the files moh-Carlos.g729, moh-Carlos.g711a, moh-Carlos.g711u and moh-Carlos.g723. So everybody will have ringback tone as MOH, except those users calling you. Of course, when you provide more files (for more Names), more users will have their own MOH.
When you retrieve the files locally (CF card), your URL will likely start with something like http://127.0.0.1/DRIVE/CF0/moh/).
Combining the %x variables and the fallback= mechanism lets you do a lot of magic.
Christoph