Alright, a different approach:
- Create an announcement.
- Add extension (virtual)
- Give it a number, make it so its no answer destination is your announcement.
- Go to trunks
- Add custom
- Destination: "Local/{ext}" (replace {ext} with extension number, ex: Local/1000)
- Add an outbound route, see dial patterns below, first route (so it catches all calls), destination is the trunk you just made.
- Dial Patterns:
- 9xxxxxxxxxx
- 91xxxxxxxxxx
This should provide that functionality.
Works fine on my VM PBX that I get to play with when experimenting with weird deployments like this.
You may be able to look into custom dialing the announcement directly, but I'm not sure you can do this (as far as I know, you cannot play an announcement with the dial() command).
Ok I finally fixed it thanks to Skype Tech support and an Asterisk Ninja :)
This is what must be in sip.conf in order for Skype connect to work:
register => SKYPE_CONNECT_ID:SKYPE_CONNECT_PASS@sip.skype.com/SKYPE_CONNECT_ID
That Register line MUST be near the begining of the file, where the "register =>" examples are.
Skype Trunk details (near the end of sip.conf or at the end):
[skype]
type=friend
context=from-skype
username=SKYPE_CONNECT_ID
secret=SKYPE_CONNECT_PASS
canreinvite=no
insecure=port,invite
dtmfmode=rfc2833
host=sip.skype.com
nat=no
qualify=yes
fromuser=SKYPE_CONNECT_ID
fromdomain=sip.skype.com
disallow=all
allow=g729
allow=ulaw
allow=alaw
Note: If you are using Asterisk-gui, you can do all of this through the gui.
When setting up the SIP trunk, you need to go back and edit it, because edit reveals more options for you to put in.
Fill out:
Hostname: sip.skype.com
Username: SKYPE_CONNECT_ID
Password: SKYPE_CONNECT_PASSWORD
Codecs: G729, Ulaw, Alaw
Fromdomain: sip.skype.com
Fromuser: SKYPE_CONNECT_ID
There is one more hidden option that you must set in order for INCOMING call
Options/Advanced/Show hidden options
With this setup, outgoing calls should work. Remeber to make the outgoing rule so that you get an international number out. My example in asterisk-gui.
US office calls only US numbers.
Outgoing rule: _XXXXXXXXXX
Prepend: +
Same thing with bare-bones asterisk: (extensions.conf)
exten => _X.,n,Dial(SIP/skype/+1${EXTEN},90)
In the example above, there is a skype trunk defined in sip.conf
After this. Everything worked fine. Now I seem to have some other problems :)
Best Answer
Yes. Let's presume your outgoing context is called
outgoing
and your SIP providers are namedtrunk1
,trunk2
andtrunk3
and are already properly configured. Your code would look something like this:Further Reading: