Hello:
At first thanks to the generosity of John Li to allow me to rack up a million
dollars worth of overseas calls on his CIKTEL account ;). Actually thanks to
John Li for his trust. This was a good challenge -- and John, now you owe me
Fish & Chips and a good cold root beer!
Ok... it took me just under 60 minutes to get CIKTEL working. ALMOST ALL
answers to one's questions is available in the debug messages and log files.
About 55 minutes was reading the logs & less than 5 minutes was to put in the
right info in the extensions.conf & sip.conf file. After all... no point to be
more stubborn than the machine :).
Seriously! SIP DEBUG PEER {the_provider} is all that you need to understand
the intimate relationship between your Asterisk & the carrier's SIP server.
Few pointers: For me, as a rule of thumb the actual packet traces with
ethereal or any packet analyzer is left for the last desperate measure and if
something does not work on asterisk within 30-60 minutes, then there are some
unknown issues which is beyond the scope of our analysis (at the time). The
trick to solving most asterisk related issues is to understand the log files &
the debug messages. That's really all there is to it. Digium did **most** of
the hard work for us already!
How to get your Asterisk to work with CIKTEL?
Few things to keep in mind:
1. CIKTEL uses G729. If you don't have this, GET ONE FIRST!!!
2. You must have a G729 codec properly installed.
3. Your assigned phone number is NOT the userid.
4. Proper entries needed in the sip.conf file.
5. Proper entries needed in the extension.conf file.
6. Registration string " cmtor1.ciktel.com " for the domain will not work.
Need to use "64.187.25.78" as the CIKTEL server exclusively has the IP address
hardcoded in its own configuration files & cmtor1.ciktel.com will give you a
service unavailable even though you can ping and resolve cmtor1.ciktel.com to
the IP address. Yes, the actual domain name entry may work on x-Lite, but more
comments on this is beyond the scope of this email.
When you subscribe to CIKTEL, you will get an endpoint ID, a PIN, a Username
and hopefully the SIP server address:
The End Point ID is usually: 999xxxxxxx (the userid in Asterisk)
Your PIN is usually a 4 digit number: xxxx (the secret in Asterisk)
Your Useraname assigned is usually: CIKxxxxxxxx (the authuser in Asterisk)
Once you have this, you need to add few entries in the sip.conf &
extensions.conf files.
In your sip.conf file:
;In the form of register => user : secret : authuser @ host you need to add
the following:
register => 999xxxxxxx:xxxx:[EMAIL PROTECTED]
This takes care of the registration.
Now towards the end of the SIP.conf file, add the following:
[CIKTEL]
type=peer
host=64.187.25.78
context=CIKTEL
allow=g729
qualify=yes
notransfer=yes
nat=yes (depending on how & where your Asterisk sits)
Once this is in place, if you do a SIP SHOW PEERS, you will see the quality of
connection you have with CIKTEL. My average delay with CIKTEL was 10-13 ms.
In the extensions.conf add the following:
[CIKTEL]
exten => 999xxxxxxx,1,Wait(1)
exten => 999xxxxxxx,n,MusicOnHold
VERY IMPORTANT to note above that the 999xxxxxxx is really not your phone
number. This is simply the end point ID that the CIKTEL server transmits to
your Asterisk server when a call is initiated to your assigned 416-xxx-xxxx
number. Then it is up to you, how you wish to handle the end point ID in a
context.
Just go crazy now with your dial plan!
And no, I don't work for CIKTEL !!! I just happened to be bored this weekend.
Enjoy,
Reza.