Receive and call outside (FWD, sipphone...) users


What I want to know is how to call a standard SIP number ? I tried sip:number@domain… but I have not found error. On the opposite, how can FWD users call me ? I don’t want to use any Service Provider…

I’m using Asterisk@Home and I’m Very interested about how to receive and call other external SIP users without using any Service Provider !!

I mean, how did you create the context ? What did you configure it in sip.conf and extensions.conf ? How exactly did you declare exten => _0.,1,Dial(SIP/${EXTEN:1}@${SIPDOMAIN},) ???

Any help would be really appreciated ! I’m trying this for weeks !!!


Ok, Now I’m able to be called from eveyone in the net without any sip-provider.
I’ve created a context in the [general] section of sip.conf and defined it in extensions.conf;
I really don’t think it was so easy…
Well, now I have to find out how call people not registered on my server,
without using a sip-provider of course.
Any suggestion?

Finally I find the answer:

exten => _0.,1,Dial(SIP/${EXTEN:1}@${SIPDOMAIN},)

where SIPDOMAIN is an asterisk variable;
Hope this help someone.

[quote=“remib”]Ok, Now I’m able to be called from eveyone in the net without any sip-provider.
I’ve created a context in the [general] section of sip.conf and defined it in extensions.conf;
I really don’t think it was so easy… [/quote]
Yes, it is easy. But… beware of the fact that having your SIP ports open to the entire world is a very serious security risk. You will get cracked!

If you really must do this, you will need to implement the measures outlined in this page: … k+non-root

What I don’t understand is that if I use FWD (for example), it will change the name of the caller and all my users will have the account of FWD as caller when they call someone ?

I mean, I have extention 1234 how calls a SIPPHONE user. If it use FWD, the sipphone user will see the FWD user as caller ? Am I right ?

By the way, I’m getting into trouble to make the PC in the LAN (of the Asterisk Machine) to get work with outside PC, I mean to call outside asterisk users and outside whatever (FWS, Sipphone…) users.

I’read all the forum without any solution.
I just respect what the Handbook said.

This is what I do to receive calls from everyone
(you can do this if you have a static ip address)

this means that all incoming sip calls are sent to the context “from-sip-external” in your extension.conf.

exten => 200,1,Dial(sip/200)

here you can include other contexts where calls could be sent.
For call outside:


exten => _.,1,Dial(SIP/${EXTEN}@${SIPDOMAIN},)

this means that all users that have access to this context
can call a “standard sip number” as

In Asterisk@Home by default you have this:



give external sip users congestion and hangup
exten => _.,1,AbsoluteTimeout(15)
exten => _.,2,Congestion
exten => _.,3,Hangup

So you aren’t allowe to receive unknown calls.

This is not the only way to do this, and as Willkemp says, this colud be dangerous;

Ok, all seems more clear right now.

Thank you

I’m interested to know why you feel * will get cracked? Is there a known * or SIP exploit? Or is it because * is typically run as root?

I don’t know if there’s a known exploit or not - it depends who knows it. I haven’t seen a CERT advisory about one though, but that doesn’t necessarily mean there isn’t a known one, and certainly doesn’t mean there isn’t one at all - or, perhaps more importantly, that there won’t be one in the future.

It’s guaranteed that sooner or later there will be an exploit.

I strongly suspect i was cracked through an open Asterisk port on my server (there are no open ports any more!). This was only a couple of months ago and the only other open port was an up to date ssh server - which is considerably less likely to have an exploit than Asterisk.

I was using a CVS-head version of Asterisk.

True. Same logic I use on my Apache server which is why it doesn’t run as root and uses suexec. Will need to change * to run as a non-root user since I would like to accept SIP and IAX calls from the net.

Would something like SER be of use here? Run SER on a second server and make all the connections through it? I’ve never messed with SER (and am new to * and VOIP) and would like to protect the * server but still accept calls from the net.