I posted this response to Asterisk-Users yesterday. Not sure why you didn't get it the first time. <br>
<br>
Note that the channels in my example below are all channel =>
1. You'll need to change that so it jibes with your ZAPTEL.CONF
file...<br>
<br>
Hugh<br>
<br>
---------- Forwarded message ----------<br>
<span class="gmail_quote">From: <b class="gmail_sendername">hugolivude</b> <<a href="mailto:hugolivude@gmail.com">hugolivude@gmail.com</a>><br>Date: Mar 20, 2006 11:02 AM<br>Subject: Re: [Asterisk-Users] How to make caller groups ???
<br>To: Asterisk Users Mailing List - Non-Commercial Discussion <<a href="mailto:asterisk-users@lists.digium.com">asterisk-users@lists.digium.com</a>><br><br></span>
<div style="direction: ltr;">
<p><span lang="EN-US">You'll want to learn all about Channels and groups. You can try here: <a href="http://www.voip-info.org/wiki/view/Channels+and+Groups" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://www.voip-info.org/wiki/view/Channels+and+Groups
</a>. <br>
</span></p>
<p><span lang="EN-US">I've assumed that you have 4 FXO modules (to support 4 external phone lines) and 4 FXS modules (to support 4 local extensions).<br>
</span></p>
<p><span lang="EN-US">Essentially you'll need
to define "group"s in your ZAPATA.CONF file. I've provided an
example below (it also includes call groups and pick up groups - I've
set it so that any group can pick up a call ringing for someone else)<br>
</span></p>
<p><span lang="EN-US">You'll also need contexts in </span><span lang="EN-US">EXTENSIONS.CONF</span><span lang="EN-US">
to control how your users dial. The entries in ZAPATA.CONF for
the (FXS) extensions will invoke the appropriate context in
EXTENSIONS.CONF so that the appropriate trunks are used. Check
out the "Dialling a Group" section of <a href="http://www.voip-info.org/wiki/index.php?page=Asterisk+Zap+channels" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.voip-info.org/wiki/index.php?page=Asterisk+Zap+channels
</a> for information on the various ways you can have Asterisk select a trunk from a group. I've used r below -
</span> a round-robin search, starting at the next highest channel than last time (aka. ascending rotary hunt group).</p>
<p><span lang="EN-US">Yours,<br>
Hugh<br>
</span></p>
<p><span lang="EN-US"><br>
</span><u><span lang="EN-US"></span></u><b><u><span lang="EN-US">Extensions.conf:</span></u></b></p>
<p><span lang="EN-US">[globals]</span></p>
<p><span lang="EN-US">BOSS_TRUNK=ZAP/r1</span></p>
<p><span lang="EN-US">GROUPA_TRUNK=ZAP/r2</span></p>
<p><span lang="EN-US">GROUPB_TRUNK=ZAP/r3</span></p>
<p><span lang="EN-US">GROUPC_TRUNK=ZAP/r4</span></p>
<p><span lang="EN-US"> <br>
[boss-context]</span></p>
<p><span lang="EN-US">;North
American Long Distance</span></p>
<p><span lang="EN-US">exten =>
_1XXXXXXXXXX,1,Dial(BOSS_TRUNK/${EXTEN})</span></p>
<p><span lang="EN-US"> </span></p>
<p><span lang="EN-US">[groupA-context]</span></p>
<p><span lang="EN-US">;North
American Long Distance</span></p>
<p><span lang="EN-US">exten =>
_1XXXXXXXXXX,1,Dial(GROUPA_TRUNK/${EXTEN})</span></p>
<p><span lang="EN-US"> </span></p>
<p><span lang="EN-US">[groupB-context]</span></p>
<p><span lang="EN-US">;North
American Long Distance</span></p>
<p><span lang="EN-US">exten =>
_1XXXXXXXXXX,1,Dial(GROUPB_TRUNK/${EXTEN})</span></p>
<p><span lang="EN-US"> </span></p>
<p><span lang="EN-US">[groupC-context]</span></p>
<p><span lang="EN-US">;North
American Long Distance</span></p>
<p><span lang="EN-US">exten =>
_1XXXXXXXXXX,1,Dial(GROUPC_TRUNK/${EXTEN})</span></p>
<p><span lang="EN-US"> </span></p>
<p><b><u><span lang="EN-US">Zapata.conf:</span></u></b></p>
<p><span lang="EN-US">;FXS Line 1
– The Boss's local extension</span></p>
<p><span lang="EN-US">language=en</span></p>
<p><span lang="EN-US">context= boss-context</span></p>
<p><span lang="EN-US">signalling=fxo_ks</span></p>
<p><span lang="EN-US">threewaycalling=yes</span></p>
<p><span lang="EN-US">transfer=yes</span></p>
<p><span lang="EN-US">callgroup=1</span></p>
<p><span lang="EN-US">pickupgroup=1,2,3,4</span></p>
<p><span lang="EN-US">channel=>1</span></p>
<p><span lang="EN-US">;</span></p>
<p><span lang="EN-US">;FXS Line 2
– Group A's local extension</span></p>
<p><span lang="EN-US">language=en</span></p>
<p><span lang="EN-US">context= groupA-context</span></p>
<p><span lang="EN-US">signalling=fxo_ks</span></p>
<p><span lang="EN-US">threewaycalling=yes</span></p>
<p><span lang="EN-US">transfer=yes</span></p>
<p><span lang="EN-US">callgroup=2</span></p>
<p><span lang="EN-US">pickupgroup=1,2,3,4</span></p>
<p><span lang="EN-US">channel=>1</span></p>
<p><span lang="EN-US">;</span></p>
<p><span lang="EN-US">;FXS Line 3
– Group B's local extension</span></p>
<p><span lang="EN-US">language=en</span></p>
<p><span lang="EN-US">context= groupB-context</span></p>
<p><span lang="EN-US">signalling=fxo_ks</span></p>
<p><span lang="EN-US">threewaycalling=yes</span></p>
<p><span lang="EN-US">transfer=yes</span></p>
<p><span lang="EN-US">callgroup=3</span></p>
<p><span lang="EN-US">pickupgroup=1,2,3,4</span></p>
<p><span lang="EN-US">channel=>1</span></p>
<p><span lang="EN-US">;</span></p>
<p><span lang="EN-US">;FXS Line 4
– Group C's local extension</span></p>
<p><span lang="EN-US">language=en</span></p>
<p><span lang="EN-US">context= groupC-context</span></p>
<p><span lang="EN-US">signalling=fxo_ks</span></p>
<p><span lang="EN-US">threewaycalling=yes</span></p>
<p><span lang="EN-US">transfer=yes</span></p>
<p><span lang="EN-US">callgroup=4</span></p>
<p><span lang="EN-US">pickupgroup=1,2,3,4</span></p>
<p><span lang="EN-US">channel=>1</span></p>
<p><span lang="EN-US">;</span></p>
<p><span lang="EN-US">;FXO
(incoming) Line 1</span></p>
<p><span lang="EN-US">language=en</span></p>
<p><span lang="EN-US">context=Boss-FXO</span></p>
<p><span lang="EN-US">signalling=fxs_ks</span></p>
<p><span lang="EN-US">usecallerid=yes</span></p>
<p><span lang="EN-US">echocancel=yes</span></p>
<p><span lang="EN-US">echocancelwhenbridged=yes</span></p>
<p><span lang="EN-US">transfer=yes</span></p>
<p><span lang="EN-US">rxgain=5%</span></p>
<p><span lang="EN-US">group=1</span></p>
<p><span lang="EN-US">channel
=> 1</span></p>
<p><span lang="EN-US">;</span></p>
<p><span lang="EN-US">;FXO
(incoming) Line 2</span></p>
<p><span lang="EN-US">language=en</span></p>
<p><span lang="EN-US">context=general-FXO</span></p>
<p><span lang="EN-US">signalling=fxs_ks</span></p>
<p><span lang="EN-US">usecallerid=yes</span></p>
<p><span lang="EN-US">echocancel=yes</span></p>
<p><span lang="EN-US">echocancelwhenbridged=yes</span></p>
<p><span lang="EN-US">transfer=yes</span></p>
<p><span lang="EN-US">rxgain=5%</span></p>
<p><span lang="EN-US">group=2</span></p>
<p><span lang="EN-US">channel
=> 1</span></p>
<p><span lang="EN-US">;</span></p>
<p><span lang="EN-US">;FXO
(incoming) Line 3</span></p>
<p><span lang="EN-US">language=en</span></p>
<p><span lang="EN-US">context=general-FXO</span></p>
<p><span lang="EN-US">signalling=fxs_ks</span></p>
<p><span lang="EN-US">usecallerid=yes</span></p>
<p><span lang="EN-US">echocancel=yes</span></p>
<p><span lang="EN-US">echocancelwhenbridged=yes</span></p>
<p><span lang="EN-US">transfer=yes</span></p>
<p><span lang="EN-US">rxgain=5%</span></p>
<p><span lang="EN-US">group=2,3</span></p>
<p><span lang="EN-US">channel
=> 1</span></p>
<p><span lang="EN-US">;</span></p>
<p><span lang="EN-US">;FXO
(incoming) Line 4</span></p>
<p><span lang="EN-US">language=en</span></p>
<p><span lang="EN-US">context=general-FXO</span></p>
<p><span lang="EN-US">signalling=fxs_ks</span></p>
<p><span lang="EN-US">usecallerid=yes</span></p>
<p><span lang="EN-US">echocancel=yes</span></p>
<p><span lang="EN-US">echocancelwhenbridged=yes</span></p>
<p><span lang="EN-US">transfer=yes</span></p>
<p><span lang="EN-US">rxgain=5%</span></p>
<p><span lang="EN-US">group=2,3,4</span></p>
<p><span lang="EN-US">channel
=> 1</span></p>
<br><br><div style="direction: ltr;"><span class="e" id="q_10a1864c69f149cd_1"><span class="gmail_quote">On 3/20/06, <b class="gmail_sendername">Faisal Inam</b> <<a href="mailto:mfaisalinam@yahoo.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
mfaisalinam@yahoo.com</a>> wrote:</span></span></div><div style="direction: ltr;"><span class="e" id="q_10a1864c69f149cd_3">
<div style="direction: ltr;"><div style="margin: 0in 0in 0pt; line-height: 14.4pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Hello All !!!</span></div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;">
<span style="font-size: 10pt; color: black; font-family: Arial;"></span> </div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">I have 4 PSTN lines in the PBX server 1,2,3,4.
</span></div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"> </span></div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">
First line will be used by only one extension (i.e. for the boss) for incom
ing and
outgoing. This line is dedicated for him only.(</span></div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"></span> </div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;">
<span style="font-size: 10pt; color: black; font-family: Arial;"></span><span style="font-size: 10pt; color: black; font-family: Arial;">The remaining lines will be shared by the employees </span></div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;">
<span style="font-size: 10pt; color: black; font-family: Arial;"> </span></div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">1) Group A have access to lines 2 , 3 & 4.
</span></div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">2) Group B have access to lines 3 & 4 </span></div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;">
<span style="font-size: 10pt; color: black; font-family: Arial;">3) Group C have access to line 4</span></div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">
</span> </div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">I want to know that how i will make that groups.</span></div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;">
<span style="font-size: 10pt; color: black; font-family: Arial;"> </span></div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"></span></div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;">
<span style="font-size: 10pt; color: black; font-family: Arial;">I will be grateful for </span><span style="font-size: 10pt; color: black; font-family: Arial;">ur</span><span style="font-size: 10pt; color: black; font-family: Arial;">
help.</span></div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"> </span></div> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">
Thanks a lot.</span></div></div><div style="direction: ltr;"><span> <div style="margin: 0in 0in 0pt; line-height: 14.4pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Faisal </span></div></span>
</div><div style="direction: ltr;"><span> <div style="margin: 0in 0in 0pt;"><font face="Times New Roman" size="3"> </font></div><p>
                </p><hr size="1">Relax. Yahoo! Mail
<a href="http://us.rd.yahoo.com/mail_us/taglines/virusall/*http://communications.yahoo.com/features.php?page=221" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">virus scanning</a> helps detect nasty viruses!
</span></div><br></span></div><div style="direction: ltr;">_______________________________________________<br>--Bandwidth and Colocation provided by <a href="http://easynews.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
Easynews.com
</a> --<br><br>Asterisk-Users mailing list<br>To UNSUBSCRIBE or update options visit:<br> <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://lists.digium.com/mailman/listinfo/asterisk-users</a><br><br><br></div><br>
</div>
<br><br><div><span class="gmail_quote">On 3/21/06, <b class="gmail_sendername">Chuck Bunn</b> <<a href="mailto:chuck.bunn@networkdoc.com">chuck.bunn@networkdoc.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br><br>Without separate incoming and outgoing context you could not secure your<br>system from an outside caller using your system to dial a long distance<br>number.<br><br>Here is an example outgoing context that restricts who can call long
<br>distance. If a SIP phone does not belong to the 'longdistance' context<br>they can only make 'local' calls through the ZAP trunk, likewise if a<br>outgoing ZAP channel is in the 'local' context it can only make local calls:
<br><br>**Outgoing.incl****<br>[local]<br>ignorepat => 9<br>exten => _9NXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1})<br>exten => _9NXXXXXX,2,Congestion(5)<br>exten => _9NXXXXXX,102,congestion(5)<br>exten => 911,1,Dial(${OUTBOUNDTRUNK}/911)
<br>exten => 9911,1,Dial(${OUTBOUNDTRUNK}/911)<br>include => default<br><br>[longdistance]<br>ignorpat => 9<br>exten => _91NXXNXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1})<br>exten => _91NXXNXXXXXX,2,Congestion(5)
<br>exten => _91NXXNXXXXXX,102,congestion(5)<br>include => local<br>*********<br><br>** SIP.conf**********<br><br>...<br>[general]<br>srvlookup=yes<br>Callgroup=1<br>pickupgroup=1<br><br>;SJphone<br>[410]<br>context=longdistance
<br>;canreinvite=no<br>type=friend<br>username=410<br>secret=passwd410<br>callerid=<410><br>qualify=yes<br>nat=no<br>host=dynamic<br>mailbox=410@default<br>disallow=all<br>allow=gsm<br>allow=ilbc<br>allow=ulaw<br>allow=alaw
<br>dtmfmode=rfc2833<br>Callgroup=1<br>pickupgroup=1<br><br>;Zyxel - P2000WV2<br>[411]<br>context=longdistance<br>canreinvite=no<br>type=friend<br>username=411<br>secret=passwd411<br>callerid=<411><br>nat=no<br>host=dynamic
<br>mailbox=411@default<br>disallow=all<br>allow=ulaw<br>allow=alaw<br>dtmfmode=rfc2833<br>Callgroup=1<br>pickupgroup=1<br>....<br><br>*****<br>and finally<br><br>***zapata.conf*******<br><br>[trunkgroups]<br><br>[channels]
<br>musiconhold=default<br>echocancel=yes<br>echocancelwhenbridged=yes<br>echotraining=yes<br>usecallerid=yes<br>hidecallerid=no<br>callwaiting=no<br>threewaycalling=yes<br>callwaitingcallerid=yes<br>transfer=yes<br>immediate=no
<br>faxdetect=both<br><br>context=default<br>signalling=fxs_ks<br>group=1<br>channel => 1,5,6<br><br>context=default<br>signalling=fxs_ks<br>group=4<br>channel => 2<br><br>context=local<br>signalling=fxo_ks<br>group=2
<br>channel => 3<br><br>context=longdistance<br>signalling=fxo_ks<br>group=3<br>channel => 4<br>********<br><br>As you can see above the outgoing context limits which phones have<br>access to longdistance lines. The incomming context cannot match the
<br>outgoing or you will have on hell of a security problem...<br><br>I hope this example helps explain what I am talking about.<br><br>Thanks<br><br><br>Andrew Kohlsmith wrote:<br>> On Tuesday 21 March 2006 12:25, Aaron Daniel wrote:
<br>><br>>> Yeah, I agree with Chuck. User's on our system are put into various<br>>> contexts depending on who they can call... local, long distance, or<br>>> internal only.<br>>><br>><br>> And *all* of those people are placing calls *in* to asterisk to get into those
<br>> contexts. :-)<br>><br>> When you pick up a telephone wired into an FXS port; asterisk sees an incoming<br>> request for dialtone.<br>><br>> When you pick up your SIP phone and dial; it must match a friend or user entry
<br>> or you'll never get in.<br>><br>> When your IAX softphone client makes a call, again, it must match a friend or<br>> user entry.<br>><br>> These are *all* incoming calls as far as Asterisk is concerned. You get
<br>> dumped into a specific part of the dialplan (the context specified) and you<br>> tell Asterisk what they can dial. Internal extensions, external peers, Zap<br>> channels or even applications... the second half of all of this is the
<br>> outgoing part, when Asterisk Dial()s.<br>><br>> -A.<br>><br>> -A.<br>> _______________________________________________<br>> --Bandwidth and Colocation provided by <a href="http://Easynews.com">Easynews.com
</a> --<br>><br>> Asterisk-Users mailing list<br>> To UNSUBSCRIBE or update options visit:<br>> <a href="http://lists.digium.com/mailman/listinfo/asterisk-users">http://lists.digium.com/mailman/listinfo/asterisk-users
</a><br>><br>><br>><br>><br>><br><br><br>_______________________________________________<br>--Bandwidth and Colocation provided by <a href="http://Easynews.com">Easynews.com</a> --<br><br>Asterisk-Users mailing list
<br>To UNSUBSCRIBE or update options visit:<br> <a href="http://lists.digium.com/mailman/listinfo/asterisk-users">http://lists.digium.com/mailman/listinfo/asterisk-users</a><br></blockquote></div><br>