Which extension am I?

Is there a way for a user to dial a number and be told which extension they are on? We have quite a few basic voip phones with no display. We’re in a warehouse environment and they take a kicking, and the labels keep falling off.

I’d like to set up a featurecode that the users can dial which will read back their extension.

Is that possible?


No. This is partly because phones don’t have extension numbers, but rather extension numbers have phones. You can use functions like ${CHANNEL(peername)} to get the identity of the SIP resource, if this is SIP. Other channel technologies provide other information. Although it is bad practice, the peername is often set to be one of the extension numbers for the phone.

If you are using an Asterisk GUI, the answer will be determined by that GUI, so you will have to ask on a forum for the GUI.

${CALLERID(num)} may also contain useful information.

The SayDigits application may be useful, to output any value you find useful.

Heres a couple of examples

exten => 513,1,Answer exten => 513,n,Flite(The Number of this set is ${CALLERID(num)} That is ${CALLERID(num):0:1} ${CALLERID(num):1:1} ${CALLERID(num):2:1} ${CALLERID(num):3:1}) exten => 513,n,Hangup() ; exten => 516,1,Noop(${SIPCALLID}) exten => 516,n,Set(FR=${SIP_HEADER(From):6}) exten => 516,n,Set(FR=${CUT(FR,<,2)}) exten => 516,n,Set(FR=${CUT(FR,@,1)}) exten => 516,n,Set(FR=${CUT(FR,:,2)}) exten => 516,n,Set(IP=${SIP_HEADER(Via):8}) exten => 516,n,Set(IP=${CUT(IP,P,2)}) exten => 516,n,Set(IP=${CUT(IP,:,1)}) exten => 516,n,Noop(${IP}) exten => 516,n,Set(UA=${SIP_HEADER(User-Agent):12}) exten => 516,n,Noop(${UA}) exten => 516,n,flite(Your caller i d is ${FR} and i p address is ${IP} Your user agent is a ${UA}) ;

same=>n,SayDigits(${CALLERID(num)} )