[asterisk-users] setting up callback

Михаил (Плюс Плюс) m at plus-plus.su
Tue Nov 18 12:19:23 CST 2008


Greetings Asterisk users!

I'm trying to setup Asterisk system to act as a callback system together
with callcentric (http://callcentric.com) but it appears that I hit common
DTMF issue and I want to workaround this problem. Basically my current
setup is the following:

1) I have dedicated Asterisk server that it is linked to my callcentric
account
2) I have US phone number (DID) from callcentric attached to my account
3) I want to make calls from my cell phone to (real US) callcentric number
and receive a callback to my cell phone number. After receiving callback,
I enter 4-digit password to auth myself and then I get a line via DISA
feature of Asterisk.

I guess my setup is very common, and all is great (e.g. I'm able to
receive a callback, enter password and then get callcentric line), except
that callcentric does not appear to be getting DTMF tones from my cell
phone correctly and I am unable to make a call.
I have searched all day long today and all I was able to find is that some
people have callback DTMF working with callcentric fine and others not. I
tweaked my sip.conf with all possible combinations of "dtmfmode" setting,
but still no luck.

Maybe I want something strange, but it appears that in my case Asterisk is
able to read DTMF tones correctly while making callback and asking me to
enter password to authenticate myself (I am able to pass authentication
process with no problems), so what I want to do is to use that instead of
using DISA feature of Asterisk. In other words I want something like this:

-> I call callcentric from my cell
-> Asterisk calls me back using callcentric line
-> I enter 4-digit password to authenticate first
-> if authentication went through, I type a phone number I wish to call
-> Asterisk initiates a SIP call to provided phone number through
callcentric, and all this has to work so that I can speak and hear remote
party on my cell phone.

I hope the above scheme is clear enough to understand.
The problem is that I cannot understand how to implement the above -
should this be done with "WaitExten()" feature? If so, can someone share
examples of their setup? I would appreciate any pointers to implement the
above.

My current GSM provider in Russia is Megafon, and I believe this has
something to do with them that DTMF tones don't get passed correctly.

Here's my current parts of config files responsible for callback:

sip.conf:

register => 1777286XXXX:XXXXXXX at callcentric.com/1862772XXXX
...
[callcentric]
type=peer
context=from-callcentric
host=callcentric.com
username=1777286XXXX
secret=XXXXXXX
fromuser=1777286XXXX
fromdomain=callcentric.com
disallow=all
allow=alaw
dtmfmode=inband
canreinvite=no
;rfc2833compensate=yes
insecure=very



extensions.conf:

NOTE: 1862772XXXX is a real phone # I have in my callcentric account

[from-callcentric]
exten => 1862772XXXX,1,NoOp(callcentric callback to ${CALLERID(num))
exten => 1862772XXXX,2,Wait(1)
exten => 1862772XXXX,3,system(cp /var/spool/asterisk/skelett.call
/var/spool/asterisk/skelett.tmp.call)
exten => 1862772XXXX,4,system(echo 'Channel:
SIP/+${CALLERID(num)}@callcentric' >>
/var/spool/asterisk/skelett.tmp.call)
exten => 1862772XXXX,5,system(mv /var/spool/asterisk/skelett.tmp.call
/var/spool/asterisk/outgoing)
exten => 1862772XXXX,6,HangUp

[callback-dialtone-auth]
exten => s,1,answer()
exten => s,n,authenticate(5678)
exten => s,n,DISA(no-password,home)



/var/spool/asterisk/skelett.call:

Context: callback-dialtone-auth
Extension: s
MaxRetries: 2
RetryTime: 1



Thank you,
Mikhail.





More information about the asterisk-users mailing list