Music on Hold

Hi there,

I am using the AMI for most of my integration with our CRM system. I have set up a way to hold calls using the ‘Park’ action. However this seems quite a convoluted way as the originating channel is terminated, and a new channel spawned and bridged apon call back for the parked channel. My issue with this is that two CDR records are created and I have to implement some logic to pull the values together (as I want 1 CDR record per call).

However, when clicking on the xlite’s hold button, it simply plays music on hold, returns a couple of nice simple events back to my listner (Hold… Status: On, Hold… Status: Off) and 1 CDR record.

How does the x-lite do this? Is it an AMI action to set the MOH, if so what action is used? Or does it call an extention within the dial plan again if this is the case where would I find this.

Thanks for any help.

Vicibox 5 64bit from .iso | Vicidial 2.8-416a | Build 131016-2112 | Asterisk | Single Server

You should use channel event logging, not CDRs for non-trivial applications.

Both park and SIP hold generate an AST_CONTROL_HOLD internal message, which is what triggers the music on hold.

Park is implemented in the PABX core, whereas SIP hold is done in the SIP channel driver.

Really this is a developer issue, not an end user one.