[asterisk-users] how to enable dial to alex at asterisk.blurb.com

John A. Sullivan III jsullivan at opensourcedevel.com
Wed Jul 15 00:50:01 CDT 2009


On Wed, 2009-07-15 at 14:34 +1000, Alex Samad wrote:
> Hi
> 
> The subject line says it all how do I enable this style of call.
> Pointers to the dns setup and asterisk setup would be great
> 
> 
> or even search words for google, as I am not sure how to search for this
> type of request.
> 
> Alex
<snip>
If I understand what you are seeking, you can try these URIs:

http://www.voip-info.org/wiki/view/Asterisk+tips+SIP+URI+Dial
http://www.blyon.com/blog/index.php/2009/06/22/p2p-sip-uri-dialing/

However, I found I changed mine substantially.  I am very new to
Asterisk so if this seems like a silly idea, it probably is and I would
appreciate being told so! We generally use numeric extensions - old
habits I suppose.  We found that the catch-all _. for uri dialing was
also catching mis-dialed extensions.  That led us to this solution:

[dial-uri] ; Always include this last because of its broad matches
exten => _[a-zA-Z0-9].,1,GotoIf($[${SIPDOMAIN}!=pbx01.ssiservices.biz]?:_.,1)
; non-URIs will automatically append @pbx01.ssiservices.biz
; this logic separates mistyped extensions from valid URI attempts
exten => _[a-zA-Z0-9].,n,Macro(uridial,${EXTEN}@${SIPDOMAIN})

exten => _.,1,Answer(0.5)
exten => _.,n,Playback(im-sorry)
exten => _.,n,Wait(0.0.5)
exten => _.,n,Playback(you-dialed-wrong-number)
exten => _.,n,Wait(0.4)
exten => _.,n,Playback(vm-goodbye)
exten => _.,n,Hangup()

Here is the macro:

[macro-uridial]
exten => s,1,NoOp(Calling remote SIP peer ${ARG1})
exten => s,n,Dial(SIP/${ARG1},60)
exten => s,n,Congestion()

As I think about it, I wonder if that NoOp should be replace with a
Verbose.  In any event, I hope this helps.

Oh, of course, this is for outbound.  For inbound, one creates explicit
entries for each SIP URI and map these to the appropriate extensions.
For example, for users, we typically map to their email address (which
is different than their internal ID; for security purposes, publicly
exposed IDs are different from internally used IDs).  We also create
direct SIP extensions for things like voicemail, office numbers, world
headquarters, so that direct SIP calls can be used just like regular
calls and enter our calling tree:

[a100in] ; direct inbound SIP dialing
exten => conference,1,Goto(a100pub,6000,1)
exten => someone,1,Goto(a100pub,314,1)
exten => helpdesk,1,Goto(a100pub,302,1)
exten => someoneelse,1,Goto(a100pub,312,1)
exten => mycompany-hq,1,Goto(a100pub,99999,welcome)
exten => mycompany-europe,1,Goto(a100pub,99999,welcome)
exten => mycompany-us,1,Goto(a100pub,99999,welcome)
exten => vmail,1,Goto(a100pub,7000,1)

Since we are a secure, multi-tenant environment, we do not place these
in the default inbound context for sip.  Instead, we only allow
designated domains in our sip.conf and specify a separate inbound
context for each which lands them into these sip directories, e.g., :

autodomain=no
domain=pbx01.mycompany.com
domain=172.x.y.8
; define client domains
domain=yourcompany.com,a100in
domain=theircompany.com,a10in
domain=pbx01.theircompany.com
allowexternaldomains=yes

Hope this helps.  If someone sees a better way, please say so.  Thanks -
John
-- 
John A. Sullivan III
Open Source Development Corporation

Street Preacher: Are you SAVED?????!!!!!!
Educated Skeptic: Saved from WHAT?????!!!!!!
Educated Believer: From our selfishness that hurts the ones we love
                   and condemns us to an eternity of hurting each other.
http://www.spiritualoutreach.com
Christianity that makes sense




More information about the asterisk-users mailing list