Penguin
Note: You are viewing an old revision of this page. View the current version.

iTalk is a service run by Auckland ISP Slingshot. It provides a SIP gateway to the NZ PSTN for $10/month. "local" calls and calls to other iTalk users are free, with reasonably cheap rates after that. Currently only 09 (Auckland) PSTN numbers are available, so local is only Auckland, but it is expected that this will expand to cover other parts of the country.

The best thing about iTalk is that it is built on open protocols such as SIP, making it easy for you to integrate it with Asterisk.

In order to make your Asterisk pbx "talk" to iTalk, you need to define an instance for it in your sip.conf so you can reference it to dial outside numbers eg.

 [iTalk]
 type=friend
 secret=$your_italk_password
 username=649974xxxx
 fromuser=649974xxxx
 host=akl.italk.co.nz
 dtmfmode=rfc2833
 insecure=very          ;important
 nat=yes
 canreinvite=no
 disallow=all
 allow=ulaw
 allow=gsm

Also inside the sip.conf you need to register to the iTalk proxy for ingress calls. eg.

register => $username:$password@akl.italk.co.nz/$extension_to_forward_incoming_calls_to

inside extensions.conf (aside from having a valid extension to forward incoming calls to as specified in the register line above) you need to have rule to push egress calls out the "iTalk" sip define.

I route all egress calls out via it when people 'dial 1 to get out' so my rule inside extensions.conf looks like

exten => _1X.,1,Dial(SIP/iTalk/${EXTEN:1},30,Tr)

If you had other dial out methods for different toll areas you would obviously match it with the "09" prefix, ie.

exten => _09X.,1,Dial(SIP/iTalk/${EXTEN:1},30,Tr)

And when Slingshot/iTalk allow registering other area codes you could do your own toll bypass network all for only $10/areacode/month for unlimited calls ;)

ie.

have a declaration for each area code in sip.conf, then route via them based on what the user dials eg.

exten => _09X.,1,Dial(SIP/iTalkAKL/${EXTEN:1},30,Tr)
exten => _04X.,1,Dial(SIP/iTalkWLG/${EXTEN:1},30,Tr)
exten => _07X.,1,Dial(SIP/iTalkHLZ/${EXTEN:1},30,Tr)
exten => _03X.,1,Dial(SIP/iTalkCHC/${EXTEN:1},30,Tr)