Re: [asterisk-users] dial out with channel variable; sub-string usage

2015-04-13 Thread John Kiniston
BABY appears to be a global variable in your example.

In your CLI output testcarrier is a peer, It's not a variable at all.

The context field for your peer testcarrier is where incoming calls from
testcarrirer will be routed to.

Here is some example dialplan showing how you can use one context
'trunk1-out' to dial out through your trunk

[trunk1-out]
exten = _[0-9a-zA-Z].,1,Verbose(Dialing out TRUNK1)
same = n,Set(CHANNEL(amaflags)=BILLING)
same = n,Dial(PJSIP/${EXTEN}@trunk1,60,o)
same = n,Log(ERROR,Dial to ${EXTEN} ended - DIALSTATUS is ${DIALSTATUS} -
HANGUPCAUSE is ${HANGUPCAUSE})
same = n,Playtones(busy)
same = n,Busy(8)
same = n,Hangup()

[pstn-local]
exten = _976,1,Macro(fastbusy)
exten = _nxx,1,Goto(trunk1-out,${EXTEN},1)

[toll-free]
exten = _1855NXX,1,Goto(trunk1-out,${EXTEN},1)
exten = _1866NXX,1,Goto(trunk1-out,${EXTEN},1)
exten = _1877NXX,1,Goto(trunk1-out,${EXTEN},1)
exten = _1888NXX,1,Goto(trunk1-out,${EXTEN},1)
exten = _1800NXX,1,Goto(trunk1-out,${EXTEN},1)

[long-distance]
exten =
_1NXXNXX,1,Authenticate(/etc/asterisk//ldcodes.txt,a,KINISTON-001-)
same  =   n,Goto(trunk1-out,${EXTEN},1)

Then your internal phone context would include the above contexts:

[internal-phones]
include = pstn-local
include = toll-free
include = long-distance

Does that help make it clearer Thufir?


On Sun, Apr 12, 2015 at 5:31 PM, thufir hawat.thu...@gmail.com wrote:


 vici:~ # asterisk -rx sip show peers
 Name/username Host Dyn Forcerport ACL Port Status
 300/300   (Unspecified) D   N 0UNKNOWN
 301/301   192.168.0.24 D   N 5060 OK (29
 ms)
 302/302   (Unspecified) D   N 0UNKNOWN
 gs102/gs102   (Unspecified) D   N 0UNKNOWN
 testcarrier/19876543210 198.38.7.34  N
  5065 OK (82 ms)
 5 sip peers [Monitored: 2 online, 3 offline Unmonitored: 0 online, 0
 offline]
 vici:~ #
 vici:~ # asterisk -rx sip show peer testcarrier

   * Name   : testcarrier
   Secret   : Set
   MD5Secret: Not set
   Remote Secret: Not set
   Context  : default

 Which just brings me back to...the context for BABY...is...?  BABY is a
 channel variable.  In the above CLI output, the channel variable is
 testcarrier, which has a context of default.

 Each channel variable maps to at most one context?  Many channel variables
 can map to a single context?




A human being should be able to change a diaper, plan an invasion, butcher
a hog, conn a ship, design a building, write a sonnet, balance accounts,
build a wall, set a bone, comfort the dying, take orders, give orders,
cooperate, act alone, solve equations, analyze a new problem, pitch manure,
program a computer, cook a tasty meal, fight efficiently, die gallantly.
Specialization is for insects.
---Heinlein
-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Re: [asterisk-users] dial out with channel variable; sub-string usage

2015-04-12 Thread thufir

On 15-04-09 12:06 PM, Chad Wallace wrote:

but don't know where to put those lines.  I have BABY defined as
channel variable:

BABY = SIP/babytel_out

but that seems circular, somehow.

You put them in the context for your clients... From what you show
below, I'd say they go in the local_200 context.  You can verify
this by looking in sip.conf, in the section that starts with [200],
find the line that starts with context=.  It's probably
context=local_200.  Then you put the outbound dialplan in that context
in extensions.conf.  Mind you, then 200 is the only phone that can dial
out.  201 can only dial 200 and nothing else.



Wait a minute, slow down.  I re-installed, same sort of problem:

vici:~ #
vici:~ # asterisk -rx sip show peers
Name/username Host Dyn Forcerport ACL Port Status
300/300   (Unspecified) D   N 0UNKNOWN
301/301   192.168.0.24 D   N 5060 OK (29 
ms)

302/302   (Unspecified) D   N 0UNKNOWN
gs102/gs102   (Unspecified) D   N 0UNKNOWN
testcarrier/19876543210 198.38.7.34  
N 5065 OK (82 ms)
5 sip peers [Monitored: 2 online, 3 offline Unmonitored: 0 online, 0 
offline]

vici:~ #
vici:~ # asterisk -rx sip show peer testcarrier


  * Name   : testcarrier
  Secret   : Set
  MD5Secret: Not set
  Remote Secret: Not set
  Context  : default


I simply want all outbound calls to go through a specific context, I 
think, if I understand how the channel passes control to the correct 
context.  I want, or need, an outbound context?


I know that the text has an example of ServerA routing through serverB.  
Simply add a line, like:



exten = _9x.,1,Dial(SIP/${EXTEN:1}@babytel_out)

or


exten = _9x.,1,Dial(${BABY}/${EXTEN:1})

Which just brings me back to...the context for BABY...is...?  BABY is a 
channel variable.  In the above CLI output, the channel variable is 
testcarrier, which has a context of default.


Each channel variable maps to at most one context?  Many channel 
variables can map to a single context?




thanks,

Thufir


--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
  http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] dial out with channel variable; sub-string usage

2015-04-09 Thread Chad Wallace
On Wed, 08 Apr 2015 16:10:30 -0700
thufir hawat.thu...@gmail.com wrote:

 I want to do something like:
 
 
 exten = _NXXXNxx,1,Dial(${BABY}/${EXTEN})
 exten = _Nxx,1,Dial(${BABY}/${EXTEN})
 exten = _1NXXNxx,1,Dial(${BABY}/${EXTEN})
 exten = _011.,1,Dial(Dial({TOLL}/${EXTEN})
 exten = _9NXXXNxx,1,Dial(${BABY}/${EXTEN})
 exten = _9Nxx,1,Dial(${BABY}/${EXTEN})
 exten = _91NXXNxx,1,Dial(${BABY}/${EXTEN})
 exten = _9011.,1,Dial(Dial({TOLL}/${EXTEN})
 
 (adapted from the book)
 
 
 but don't know where to put those lines.  I have BABY defined as
 channel variable:
 
 BABY = SIP/babytel_out
 
 but that seems circular, somehow.

You put them in the context for your clients... From what you show
below, I'd say they go in the local_200 context.  You can verify
this by looking in sip.conf, in the section that starts with [200],
find the line that starts with context=.  It's probably
context=local_200.  Then you put the outbound dialplan in that context
in extensions.conf.  Mind you, then 200 is the only phone that can dial
out.  201 can only dial 200 and nothing else.

One suggestion...  those 8 lines are redundant.  The first 4 let you
dial out without the 9 in front, and the last 4 need you to dial 9 to
get out.  You should probably decide which way you want to do it, and
use only 4 of the lines instead of 8.  Keep it simple.  Also, if you
don't use 7-digit dialing in your area, you can drop the second line
(_Nxx) and only have 3.  

Mind you, even if your local area supports 7-digit dialing, I'm
guessing babytel doesn't, so it wouldn't even work like that.  You
would have to add your area code (or 1 and your area code) after the
slash between ${BABY} and ${EXTEN}, just on that one line.



 inbound calls work fine:
 
 [inbound-calls]
   exten = 16046289850,1,Dial(SIP/200)
 
 [local_200]
 exten = _9x.,1,Set(CALLERID(all)=Ali Baba 123456789)
 exten = _9x.,1,Dial(SIP/${EXTEN:1}@babytel_out)
 exten = 201,1,Dial(SIP/201)
 
 [local_201]
 exten = 200,1,Dial(SIP/200)
 
 
 in local_200, that just seems suspect.  Yes, dial out, but shouldn't
 it be using BABY?  I don't understand why it's using sub-string with
 the 1.

That's a different syntax for the same thing.  These three lines all do
the same thing:

exten = _9x.,1,Dial(SIP/${EXTEN:1}@babytel_out)

and

exten = _9x.,1,Dial(SIP/babytel_out/${EXTEN:1})

and

exten = _9x.,1,Dial(${BABY}/${EXTEN:1})

The ${EXTEN:1} strips off the 9 at the front of EXTEN, because babytel
doesn't want to get the 9 that you dial on the phone.  If you go with
dialing without the 9, you'll use ${EXTEN}, not ${EXTEN:1}.


-- 

C. Chad Wallace, B.Sc.
The Lodging Company
http://www.lodgingcompany.com/
OpenPGP Public Key ID: 0x262208A0


-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


[asterisk-users] dial out with channel variable; sub-string usage

2015-04-08 Thread thufir

I want to do something like:


exten = _NXXXNxx,1,Dial(${BABY}/${EXTEN})
exten = _Nxx,1,Dial(${BABY}/${EXTEN})
exten = _1NXXNxx,1,Dial(${BABY}/${EXTEN})
exten = _011.,1,Dial(Dial({TOLL}/${EXTEN})
exten = _9NXXXNxx,1,Dial(${BABY}/${EXTEN})
exten = _9Nxx,1,Dial(${BABY}/${EXTEN})
exten = _91NXXNxx,1,Dial(${BABY}/${EXTEN})
exten = _9011.,1,Dial(Dial({TOLL}/${EXTEN})

(adapted from the book)


but don't know where to put those lines.  I have BABY defined as channel 
variable:


BABY = SIP/babytel_out

but that seems circular, somehow.


inbound calls work fine:

[inbound-calls]
 exten = 16046289850,1,Dial(SIP/200)

[local_200]
exten = _9x.,1,Set(CALLERID(all)=Ali Baba 123456789)
exten = _9x.,1,Dial(SIP/${EXTEN:1}@babytel_out)
exten = 201,1,Dial(SIP/201)

[local_201]
exten = 200,1,Dial(SIP/200)


in local_200, that just seems suspect.  Yes, dial out, but shouldn't it 
be using BABY?  I don't understand why it's using sub-string with the 1.




thanks,

Thufir

--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
  http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users