Hi folks,
I know a few of you have been trying to get asterisk@home to work with uplink, here is a working example although there is a bug somewhere that causes a freeze when dialing skype out. I suspect this is an uplink bug in which case there is nothing we can do except hope for new release.
1. Setup an a@h trunk as follows:-
Outgoing settings
Trunk Name: skype
PEER Details:
allow=all
caninvite=yes
canreinvite=yes
context=extensions
host=dynamic
insecure=very
nat=yes
secret=5506
type=friend
username=5506
Incoming settings
USER Context: 5506
USER Details:
allow=all
callerid="Incoming Skype"
caninvite=yes
canreinvite=yes
context=ext-queues
host=dynamic
insecure=very
nat=yes
secret=5506
type=friend
username=5506
Registration
Register String:
5506:5506@192.168.1.2/5506
The format of the register string is username:password@uplinkhost/username, ie my machine with the uplink and skype client running is 192.168.1.2, adjust to suit your own network.
Note that 5506 is an arbitrary number that is based on the asterisk setup in this forum. Also I am using a context=ext-queues on incoming as I am routing my skype calls into call queue 123. If you just want to ring an extension use context=from-internal etc.
2. Define an outbound route.
Route name: skype
Dial patters: 8|X. This routes all calls prefixed with an 8 via this route. eg to dial 00441234567890
via skype dial 800441234567890 etc.
Trunk Sequence: SIP/skype
That completes the basic setup for a@h but we then need to add some bits to the config files, note that these will be overwritten each you time you change settings from within a@h so do these last.
Go to Tools -> Config Edit
Click on extensions_additional.conf
Find the skype outroute, eg outrt-xxx-skype
Change the dialout line to read:-
exten => _8X.,1,Macro(UpLink,${EXTEN:1},,)
If you want to map some fixed extensions to call skype users by their skypename then add some arbitrary extensions in the the [ext-local] section, eg
exten => 1977,1,Macro(UpLink,skypename)
exten => 1977,hint,SIP/1977
This will call skype user 'skypename' when you dial 1977, note you cannot dial your own skypename to test it, I tried and it doesn't work.
Click update.
Now open extensions.conf
Add this to the end of the file:-
[macro-UpLink]
exten => s,1,Dial(SIP/${ARG1}@5506,60,)
exten => s,2,Congestion
If you want to follow my example completely setup a call queue, number 123 before you edit the config files.
Uplink setup.
General
When SIP Calls: Use the dialled number
When Skype calls SIP dial the following number: 123
Note 123 is my call queue.
SIP
Full friendly display name: skype
SIP account number (or user): 5506
Server: 192.168.1.5
Use the ip address of your a@h server
Password: 5506
Network
Local SIP Port to listen on: 5060
Local RTP ports....: 8000
Use static IP address
Public IP address:- xxx.xxx.xxx.xxx eg put in your public IP address
External SIP Port: 5060
External RTP port starting from: 8000
Restart uplink.
If everything is ok then uplink should register as sip:5506@your-a@h-ip
That's it.
This all works for me with one problem, when I dial out through skype only the first call works and then the Skype client hangs and does not disconnect, it requies a ctrl-alt-delete to kill the uplink process before the skype client will disconnect and respond. With calls to skype users this does not happen, it only happens when dialing skype out, not skype to skype. I don't know whether this is an uplink bug??? I am dialing UK numbers of the format 00441234567890
If I've missed anything please let me know, good luck!