Showing results for 
Search instead for 
Did you mean: 

Spa 504G Distinctive Ringing h vs n

Is there a technical manual somewhere that goes in depth as to what things mean and the range of values are in your provisioning files?

For example in the distinctive ringing section you have all these options

<Ring1 group="Phone/Ring_Tone">h=Classic-1;w=3;c=1</Ring1>
<Ring2 group="Phone/Ring_Tone">h=external;w=3;c=2</Ring2>
<Ring3 group="Phone/Ring_Tone">n=international;w=3;c=3</Ring3>
<Ring4 group="Phone/Ring_Tone">n=national;w=3;c=4</Ring4>
<Ring5 group="Phone/Ring_Tone">n=local;w=2;c=1</Ring5>
<Ring6 group="Phone/Ring_Tone">n=queue;w=2;c=2</Ring6>
<Ring7 group="Phone/Ring_Tone">n=ivr;w=2;c=3</Ring7>
<Ring8 group="Phone/Ring_Tone">n=Simple-4;w=2;c=4</Ring8>
<Ring9 group="Phone/Ring_Tone">n=Simple-5;w=2;c=5</Ring9>
<Ring10 group="Phone/Ring_Tone">n=Office;w=4;c=1</Ring10>

What is h vs n with regards to the name of the ringtone

13 Replies 13

Dan Lukes
VIP Alumni
VIP Alumni

n is first letter of name while h seems to be typo (I' don't know where you copied the example from, nor what person you mean by saying "your ... file").

I was told h was a change due to 7.6.1 firmware. Would be nice if there was official documentation about all this.

I tried it. No h recognized by 7.6.1 firmware. n works as expected.

I still assume there's typo in the (unspecified) source you copied the example from.

Yes these are my findings too. If you use h and you go to the phone and try to view ringtones it will say No Ring for item one and then skip until the next record that contains n. So in my current testing I configured the first 4 rings with h. I'm confused by why it seems to skip 5 though. (see attachment for example)

the official support for my server (3cx) is the one saying the h replaces n on the new firmware.

As a side effect I am experiencing when using h is that when I answer a call by pressing the headset button it will instantly switch to speaker phone.

I jumped to conclusions since I was only going based on what I could see on the phone lcd in the ring tone section. When I use h the ringtones are working, except for the fact that the phone will not show them in the list of ringtones as I showed in my picture on my other reply. However, the side effect I described still applies.

Well, I can't reject your conclusions, but it doesn't work for me. The ringtone name defined by 'h=' is unknown to the phone, they can't be referred in INVITE packet. Default ringtone is played instead. Tried on 7.6.1.

Your mileage may vary, of course.

Perhaps a 3cx only issue. I assume you are probably using asterisk based solution? I may try setting up a vm to compare results.

The tone is generated by in-phone chip. A PBX provide just name of the tome it wish to be generated. Phone either follow the request, or fire default ring tone instead (if the name is unknown to them).

There's no place for PBX brand to affect results.

But if you are sure it works I can't refuse your conclusion.

I assume you started with phone in factory default state ('h=' definition may not overwrite previous 'n=' definition). I assume your default ringtone (e.g. ringtone defined in position 1) is dissimilar enough so you can recognize it. Of course, you can't try 'h=' with ring 1 as it's the default ring, so it will be used even if 'h=' is unrecognized.

Yeah basically each time I reprovision I am factory resetting and provisioning either with my custom or my pbxs default "approved" template. And of course their approved template is the one with the h.

Would it be too much trouble if I could ask you to test on your end using h and to see if answering via the headset button will switch to speakerphone? And may I know what pbx you're using?

OK, so I started with following ringtone 6 definition (note the PBX is asking External ringtone for the purpose of test calls):


Phone rings according configuration, I can use headset button to pick up the call, no switch to speaker phone


Phone rings default ringtone (as this definition is not recognized thus no "External" definition has been found). I can use headset button to pick up the call, no switch to speaker phone.

Note no headset has been connected to phone to avoid it's influence.

The PBX is Asterisk, but we doesn't deliver provisioning from PBX. I wish to repeat once more - provisioning and call setup are independent things. Call setup and the ringtone requested have no relationship to PBX brand. Same INVITE packet will fire same ringtone regardless their origin.

It seems you are still mixing unrelated things.

The first one is configuration of ringtones.

Statement - it doesn't work with 'h=' as expected, but it works with 'n='. The 'h' is just typo. No particular letter of ringtone definition affects pickup behavior - it's still the same regardless of ringtone definition. 

Conclusion - a) the configuration provided by ISP to you is incorrect. b) "Pickup behavior issue" is unrelated to ringtone definition.

The solution - typo needs to be corrected by ISP.

Workaround - configure phone by self, use no buggy configuration provided by ISP.

It so easy to test my conclusions, so please do it. Unless you can claim different results, this issue needs to be considered analyzed with solution found.

The second one is "call pickup issue".

Statement - No change of ringtone definition affects pickup behavior.  The behavior is triggered by headset itself or caused by configuration of other things.

Test - disconnect headset and try again. If behavior become be different, the issue is related to headset. If behavior remain same, the issue is caused by phone configuration.

Describe the test results. We can continue then.

I've tested with a second phone. when using h the ring tones do change appropriately, but both phones experience the issue with switching to speakerphone if answered by headset. One thing I noticed is if the call is internal (endpoint to endpoint) answering by headset will work normally.

I've even upgraded my primary phone to 7.6.2 with exactly the same results. then downgraded to 7.6.0 and 7.5.7s. Apparently even as low as 7.5.7s needs the h in order for ringtones to work for me. but all have the headset answer problem.

I guess I'm really just spinning my wheels for no reason. I have no actual need for any particular firmware. I guess I'll just have to throw in the towel. I'd rather sacrifice ringtones for the sake of not having to press the headset button multiple times to answer a call.

I really do appreciate your effort in trying to help and troubleshoot with me.

I had one last idea. Up until now, I had been configuring all of the options basically all or nothing. meaning rings 1-7 using either all h or all n

<Ring1 group="Phone/Ring_Tone">n=Classic-1;w=3;c=1</Ring1>
<Ring2 group="Phone/Ring_Tone">n=external;w=3;c=2</Ring2>
<Ring3 group="Phone/Ring_Tone">n=international;w=3;c=3</Ring3>
<Ring4 group="Phone/Ring_Tone">n=national;w=3;c=4</Ring4>
<Ring5 group="Phone/Ring_Tone">n=local;w=4;c=1</Ring5>
<Ring6 group="Phone/Ring_Tone">n=queue;w=2;c=2</Ring6>
<Ring7 group="Phone/Ring_Tone">n=ivr;w=2;c=3</Ring7>

I tried selectively setting certain rings to h while leaving everything else n

1) queue
2) external and queue
3) external, queue and local

In these situations 1 and 2 ringtone works AND I can answer using the headset button just like normal.

in situation 3, the ringtone doesnt seem to work on local calls (which I assumed was endpoint to endpoint) but I can stil answer calls using the headset button without having to press it multiple times.

So I am not sure if there is a corruption that occurs during auto provision or if the all or non nature plays a factor. But at least I'm in a place that seems to work for me.

Also, I made all these changes directly on the phone through the web config rather than through autoprovision template.

Well, we still don't know what format is used in INVITE packet requesting the particular ringtone.

The 'h=' just doesn't works for me and I can't repeat your headset issue despite I tried the configuration you described. 

It may depend on INVITE content - may be some formats may fit the 'h=' definition.

Unless we know the INVITE content we can just guess.

in situation 3, the ringtone doesnt seem to work on local calls (which I assumed was endpoint to endpoint)

Just to avoid confusion - particular ringtone is not selected by phone. Ringtone may be defined in call setup INVITE packet, thus the PBX is making the decision.