[asterisk-users] Is this doable?

Josh mojo1736 at privatedemail.net
Wed Feb 1 18:48:23 CST 2012


I am trying to configure Asterick, having the following system setup on
the Asterick server:

* eth0 faces the external Internet interface, *but* it does not have IP
address (it has a private one given to it by my ISP's DHCP server);
* eth1 faces my internal network (say 10.1.1.0/24);
* tun0 serves all mobile smartphones and connects to the internal
network (it has a different ip range, say 10.1.2.0/24) - they are all
connected via the Internet using OpenVPN;

I would like to configure Asterick for internal calls between ourselves
(eth1<->tun0) and I think I have no problem with configuring this part.
I would also like to use one external VOIP provider to which Asterick
registers on startup. I think I know how to do that and use the
"register" option in sip.conf, though I am not sure for the rest of the
NAT-related entries (see below).

The purpose of registering this external account is so that both the
smart phones (tun0) and the internal net (eth1) users could use this
account to make external calls (starting with "0", i.e "_0[0-9]."
pattern in extensioins.conf). Obviously, I need these calls to be routed
properly via the external VOIP account. In addition to that, I would
also need to receive calls from that external account to a nominated
internal one (say on extension 20).

Is this achievable?

If so, I am not completely clear on whether I need to explicitly specify
my public IP address (via externip/externhost) or whether Asterick is
able to find it without this option? If not, then my plan is to use
external program to find it and then use a script in Asterick to set it
up as an environment variable. Would that work? That external IP address
is going to change, but only in rare circumstances and in such cases I
have to restart a lot of stuff (including Asterick) on that server (this
is usually triggered by a monitoring program), so it won't be a problem
once it is setup initially. I am also not sure whether to specify
"nat=yes" or just have "nat=route" only - any ideas?

Is there a comprehensive list of all the options available in sip.conf
and what they do, because I was unable to find such a list?

If the above is doable, I would also like to add the following 2 features:

1. Secondary external VOIP account, though I have no idea how to specify
its port in "register" (it uses port 5065 instead of the standard 5060).
That account would need to be used on a separate interface (eth2) with a
different public IP address. Would it be possible to use
externip/externhost inside that external account section to specify it?
If this is not possible, then I am thinking of running a separate
instance of Asterick with the second VOIP account/public IP address set
up - would that work?

2. I would like to be able to configure the following work flow: for a
specific set of (external) calling numbers (including where no Caller ID
is available):
a) these callers to be prompted to specify the "reason" for their call;
b) their response to be temporarily "recorded"/stored (a short message
of, say no more than 10 seconds long or when they press '#' for that
recording to stop);
c) Asterick then rings the nominated number for external VOIP calls
(extension 20) and play that recorded message back;
d) then asks for one of four possible outcomes:
- accept this call (pressing, say 1) in which case the call is connected
as normal;
- reject it with a message that that number/person is "unavailable"
(say, by pressing 0);
- ask the caller to leave a message by transferring them to a voicemail
(say by pressing 2); or
- end the initial call completely with a message that the caller/number
has been "blacklisted" (say, by pressing the 9 key);

Could this be achieved?

One final question about binding: in order to be able to use both tun0
and eth1 interfaces so that Asterick serves the calls from both eth1 and
tun0, do I have to use "bind 0.0.0.0"? Is there an alternative, like
specifying "bind 10.1.1.1" for eth1 and then "bind 10.1.2.1" for the
tun0 interface - is this possible?

Many thanks in advance!




More information about the asterisk-users mailing list