Questions on Device Feature Key Sync

These seem to be a lot of misunderstandings about this functionality. I’ll try to clarify a few.

I just can’t see how you would sync the status from Asterisk with the phone, eg. when changing DND through some other means. From the docs you linked to, it seems it’s not possible directly through SIP, but you’d need an external program to update the DND state in the phone? (Unless you just accept using a BLF button of course. )

This is exactly what this code change is for. It allows an arbitrary application to, through Asterisk, control the DND and other feature state and status on the IP phone.

Only certain IP phones support this functionality, but probably all of the widely used ones, e.g. Polycom.

For me, one anticipated benefit from this DFKS feature is be able to control targets of forwarding requests when, for instance, Alice requests unconditional forwarding to Bob’s phone but Bob’s extension doesn’t exist anymore.
To my knowledge, this can’t be done at phone’s level (even simpler things like disabling forwarding to costly destination can’t be programmed when configuring IP phones).

You don’t need this feature to do that. This is about feature synchronization. You can always implement DND entirely on the Asterisk side and leave the phone out of the picture, just the way it’s typically done.

Other use case: at some point in time Bob’s extension is removed and you want to remove it from any forwarding target.

Ditto.

For me, to implement this control, the phone must request forwarding to a server and wait for confirmation.

Yes, that’s how it’s generally done, using the *78/*79 CLASS vertical service codes.

Then an internal or external process, spying corresponding AMI events or treating incoming calls (which requires sound files and related resources), analyses this request content and either denies or confirms it (using an AMI command or SIP notifies).

That seems like overkill, you could do this right in the dialplan, AMI is not needed.

Can you imagine a different way to implement this ? For me, this DFKS seems like a promising standardized way to handle forwarding/DND.

You don’t need DFKS in order to control the forwarding or DND server side.

This is about seamless integration of the DND/feature buttons on the phone itself, letting them control feature state on the service. The word “synchronization” is key here. This does not implement or provide the feature itself, it is purely about communicating requested feature status changes back and forth.

Thank you for writing such detailed reply.

My experience with vertical service codes, have been the following:

Alice presses her phone keys to un conditionally forward its call to Bob,
Alice’s phone dials a vertical code such as 78123456 where 78 is the vertical code prefix and 123456 is Bob’s extension number.
Alice hears some IVR dialog telling her her request is accepted or refused.

What happens then ?
How can Asterisk’s dialplan notify Alice’s phone to render or not render unconditional forward status ?

Thank you for writing such detailed reply.

My experience with vertical service codes, have been the following:

Alice presses her phone keys to un conditionally forward its call to Bob,
Alice’s phone dials a vertical code such as 78123456 where 78 is the vertical code prefix and 123456 is Bob’s extension number.

It would be *72 typically, this is the standard code assigned to this feature.

In practice, most switches will accept *72, 1172 (rotary phones), or even 72# as that was the initial code assigned in the 60s by the Bell System for early ESS switches, and so many switches still accept this variant. (This is not true for most other feature codes.)

Alice hears some IVR dialog telling her her request is accepted or refused.

There is no “IVR”. The typical sequence is:

  1. Dial *72/1172/72#.
  2. Hear confirmation tone
  3. Dial the forward-to number.
  4. Forward to number rings.
  5. If called party answers, hang up and forwarding is active. Else, continue.
  6. Redial *72 and the last called number.
  7. Hear confirmation tone. Forwarding is active.

Other systems may do it differently e.g. provide an IVR, not require an answer on the first attempt, etc. but this is the “standard” feature implementation. Some CLASS features may have announcements, such as when DND is toggled, but very few outside of the selective features have any kind of “IVR”.

What happens then ?
How can Asterisk’s dialplan notify Alice’s phone to render or not render unconditional forward status ?

That’s what this module is for. The dialplan could instruct the phone that the active forward-to number is now whatever it is. But this is purely about communicating a feature setting to the phone. The phone itself has nothing to do with the call forwarding implementation.

I’ll reiterate, if you are looking for some “out of box” implementation, that is not what this is for. You may want to look at something like FreePBX that will provide an implementation for you. All of this requires you to set everything up yourself. This is just another primitive in your toolbox. You’re asking how does one build a house and that is completely out of scope for this discussion and what this feature is for.

Where is that sequence the standard? I’ve never encountered it before, even on analogue lines. You just dial the feature code for forwarding, followed directly by the destination, and that’s it. Eg. we dialed *21*12345678 on our old analogue line, when you complete your dialing, you get a “Call forward active” and you’re done. No answer from the destination required.

Where is that sequence the standard? I’ve never encountered it before, even on analogue lines. You just dial the feature code for forwarding, followed directly by the destination, and that’s it. Eg. we dialed *21*12345678 on our old analogue line, when you complete your dialing, you get a “Call forward active” and you’re done. No answer from the destination required.

I’m only speaking for here in the U.S., most typically with a 5ESS or a DMS100. Maybe in other places (e.g. BT in the UK?) it’s different. I don’t know how it works over there.

It’s the first time I hear about that way of doing it, however, here in Denmark where I am, we didn’t really get those services as service codes before the entire network had switched to digital switches, in the early '90es, and they always said it were not supported on rotary phones in the marketing.

Also back then you normally rented the phone from the telco anyways, so getting it exchanged were just a matter of going to their store, with the old rotary phone, and get a brand new touch tone phone to take home.

And with no rotary phone support, there were no good reason for such a complicated flow, as you described, while it made sort of sense with rotary support. Though the requirement for someone to pick up the phone at the destination, makes little sense in my head, but I suppose they had their reasons.

Most people used it to forward the phone to their vacation home if they were out for a while, or to where ever they were going, if they expected an important call.

When cellphones became common place, most people had forwarding setup to their cellphone, either as a permanent no-answer forwarding, or whenever they left, usually with a speed dial to enable it.

It’s the first time I hear about that way of doing it, however, here in Denmark where I am, we didn’t really get those services as service codes before the entire network had switched to digital switches, in the early '90es, and they always said it were not supported on rotary phones in the marketing.

The network here is more backwards compatible. Call forwarding doesn’t require * or # inherently so there’s no reason it shouldn’t work. Pulse dialing is still supported on all POTS lines, even many VoIP adapters now.

Then again, it’s widely recognized that, through Divestiture, the U.S. had a vastly superior telephone network to other countries, with more resources dedicated to doing it in the best way possible.

Also back then you normally rented the phone from the telco anyways, so getting it exchanged were just a matter of going to their store, with the old rotary phone, and get a brand new touch tone phone to take home.

Sure, that was the case here through Divestiture as well. But renting a Touch Tone phone would obviously cost more than a rotary phone. This was the case even with post-Divestiture renting, into the 2000s. Even today, you can still rent from QLT and the same price differential remains: Corded Phones | QLT Consumer Lease Services, Inc.

And with no rotary phone support, there were no good reason for such a complicated flow, as you described, while it made sort of sense with rotary support. Though the requirement for someone to pick up the phone at the destination, makes little sense in my head, but I suppose they had their reasons.

This just a general pattern here, I don’t think it’s complicated. *XX is the same thing as 11XX.

The selective features also support using codes 12 and 11 instead of # and *, and this mode is automatically used if the code was dialed as 11XX rather than *XX.

The word “Divestiture” being a non-native english speaker, is not really a word I know, and looking it up, seems to make little sense in this context. I also can’t find it as a company name easily. Could you explain what it means in this context? Everything I find with it suggests the opposite of getting more resources, which it seems to mean…

As I were to young to be the one paying the bills, I have no idea how the pricing were, however, I do remember never seeing rotary phones in the stores, and I imagine they did what they could to get them off the network. The PSTN here, to the best of my knowledge, also still supports pulse dialing, but most VoIP providers configure their ATA’s not to support it. The few ATA’s we send out where I work has no specific setting for pulse dialing, and as such uses whatever the defaults the manufacturer set.

My guess is that it was when Bell’s monopoly was broken up, but I agree that it is a US specific usage of the word. Sort of the nearest you can get to de-nationalisation, in a country with very little nationalisation.

Still doesn’t make sense in my head, how that would give more resources. But it MAY possibly affect the priorities of the companies taking over, which of cause could result in more resources allocated to R&D and modernization.

Sorry, Divestiture refers to the Divestiture of the Bell System, ordered in 1982 and effected in 1984, which was a seminal moment in North American telecommunications history. AT&T was effectively divesting itself of local exchange service while retaining long distance, Western Electric, and Bell Labs. Ultimately, all of these floundered post-Divestiture. By “through Divestiture”, I meant “until Divestiture”, not “because of Divestiture”.

Still doesn’t make sense in my head, how that would give more resources. But it MAY possibly affect the priorities of the companies taking over, which of cause could result in more resources allocated to R&D and modernization.

It didn’t, most people in telecommunications, myself included, view Divestiture has having a net negative impact on telecommunications. It’s what turned the best telephone system in the world into a mediocre one. The Bell System invested massive amounts in R&D and that basically evaporated post-Divestiture, since there was no funding for it anymore. When’s the last time Bell Labs had a significant research finding? Probably more than 40 years ago.

Denationalization in other countries may have had some similar effects, but most systems were never as good as ours to begin with, and the Bell System was always entirely private, but regulated, so it’s not an apples to apples comparison by any stretch.

Ah… So reason it didn’t make sense to me, was that I didn’t fully understand what you meant. :slight_smile:

But yeah, quite a lot of inventions, especially in telecommunications, came out of Bell Labs. Too bad most telecommunications today, is all about a race to the bottom, spending as little on reasearch as possible to be the cheapest, rather than the best. :frowning:

And I’m pretty sure that over here, the regional telecoms companies started out as private entities, then were bought up by the state and consolidated into one big company, which were then sold off to investment fonds, with no care about anything but return of investment. ADSL is basically useless today, due to all the old copper cables nobody cared to maintain. Good thing we’re a small country, with not much in terms of rural areas, it makes fiber deployment somewhat cheaper than in a country like the US with wast stretches where no one lives.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.