Re: [asterisk-users] Re: Match a Numer - then continue with, dialplan

2006-12-21 Thread Richard Lyman

Benny Amorsen wrote:

RL == Richard Lyman [EMAIL PROTECTED] writes:



RL grr, i hate when i typo (and reply to my own posts) exten =
RL s/,2,Set(CALLERID(name)=OUTSIDE NAME|CALLERID(num)=xx)

Heh, if you want to chase typos, perhaps you should add an underscore
before ?


/Benny
  
if that were the case, then you should also change the 
CALLERID(name/num) references to macros!


eh

merry christmas to all!



___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with, dialplan

2006-12-21 Thread Douglas Garstang
 -Original Message-
 From: Richard Lyman [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, December 20, 2006 4:29 PM
 To: Asterisk Users Mailing List - Non-Commercial Discussion
 Subject: Re: [asterisk-users] Re: Match a Numer - then continue with,
 dialplan
 
 
 Douglas Garstang wrote:
  -Original Message-
  From: David Gomillion [mailto:[EMAIL PROTECTED]
  
 *snipped
 
  David, this is completely different from what I am trying to do.
 
  Let's try this a different way. Let's say you have two 
 companies. When someone calls a number in their own company, 
 we use their INTERNAL caller id. When they call someone in 
 another company, we want to send their EXTERNAL caller id. 
 How would you do this?
 
  Doug.

 if it is just callerid then wouldn't the gf stuff (if it 
 still exists) work?
 
 it was something like (man i'm getting old, looking up in wiki)
 
 exten = s,1,Answer()
 exten = s,,2,Set(CALLERID(name)=OUTSIDE 
 NAME|CALLERID(num)=xx)
 exten = s,2,Set(CALLERID(name)=INSIDE NAME|CALLERID(num)=xx)
 exten = s,3,Dial(yadda)
 
  would obviously be the callerid num of the internal exten

I don't think that scales to hundreds of companies.
___
--Bandwidth and Colocation provided by Easynews.com --

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


OT: Re: [asterisk-users] Re: Match a Numer - then continue with, dialplan

2006-12-21 Thread Richard Lyman

Douglas Garstang wrote:

-Original Message-
From: Richard Lyman [mailto:[EMAIL PROTECTED]
Sent: Wednesday, December 20, 2006 4:29 PM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Subject: Re: [asterisk-users] Re: Match a Numer - then continue with,
dialplan


Douglas Garstang wrote:


-Original Message-
From: David Gomillion [mailto:[EMAIL PROTECTED]



*snipped



David, this is completely different from what I am trying to do.

Let's try this a different way. Let's say you have two 
  
companies. When someone calls a number in their own company, 
we use their INTERNAL caller id. When they call someone in 
another company, we want to send their EXTERNAL caller id. 
How would you do this?


Doug.
  
  
if it is just callerid then wouldn't the gf stuff (if it 
still exists) work?


it was something like (man i'm getting old, looking up in wiki)

exten = s,1,Answer()
exten = s,,2,Set(CALLERID(name)=OUTSIDE 
NAME|CALLERID(num)=xx)

exten = s,2,Set(CALLERID(name)=INSIDE NAME|CALLERID(num)=xx)
exten = s,3,Dial(yadda)

 would obviously be the callerid num of the internal exten



I don't think that scales to hundreds of companies.
  

hey doug,

did you forget you already replied to this with

If there's hundreds of companies on this box, we'd need an exponentially 
larger number of statements...


not to mention it was YOU that defined it as

 Let's try this a different way. Let's say you have two
 companies. When someone calls a number in their own company,
 we use their INTERNAL caller id. When they call someone in
 another company, we want to send their EXTERNAL caller id.
 How would you do this?

note: 2 companies

tagged OT: as this doesn't even have a direction anymore.




___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with dialplan

2006-12-20 Thread Douglas Garstang
 -Original Message-
 From: Benny Amorsen [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, December 20, 2006 6:16 AM
 To: asterisk-users@lists.digium.com
 Subject: [asterisk-users] Re: Match a Numer - then continue with
 dialplan
 
 
  DG == Douglas Garstang [EMAIL PROTECTED] writes:
 
 DG So, in the event that the logic flows beyond
 DG coo1_OnNet, we want to reset the caller id of say, 3254001 Doug,
 DG to 3254000 Widgets Inc.
 
 DG exten = 3254101,1,Dial(SIP/3254101,20,tr)
 DG exten = 3254102,1,Dial(SIP/3254102,20,tr)
 DG exten = 3254103,1,Dial(SIP/3254103,20,tr)
 
 
 
 [coo1_CallStart]
 include = coo1_OnNet
 
 You want something which executes here, if coo1_OnNet didn't match?
 
  exten = _.,1,Set(CALLERID(all)=Widgets Inc 3254001)
 
 will do that.
 
 
 If you then want to continue in priority 1 instead of 2, you just do
 
  exten = _.,n,Goto(coo1_CallStart2,${EXTEN},1)
 
 [coo1_CallStart2]
 include = syst_OnNet
 include = syst_OffNet

That won't do it. Processing will continue in the current extension priority. I 
need it to continue looking for an extension to match against. Once Asterisk 
has matched the dialled number against an extension in the dialplan, your stuck 
in an extension you can never get out and get Asterisk to go back to 
looking for extensions to match against.
___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with dialplan

2006-12-20 Thread Doug Crompton
I haven't really been following this thread but doesn't the following
snipet kinda do this

[out-international]
exten = _011,1,goto(process-international,s,1)

[process-international]

exten = s,1,playback(international-call)
exten = s,n,playback(please-enter-the)
exten = s,n,read(number,number)
exten = s,n,Dial(SIP/[EMAIL PROTECTED],120,T)
exten = s,n,Macro(failann,${DIALSTATUS})


This matches 011 then could do any number of things. Here I just goto,
then it looks for more numbers (the announcement is optional) and then
dials them.

Maybe not what you are looking for but it is an example of Asterisk
matching an extension and then going on to take more digits that then
branch based on other digits. Here the 011 is prepended to the final
number.

BTW - what is a numer?

Doug

___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with dialplan

2006-12-20 Thread Douglas Garstang
 -Original Message-
 From: Doug Crompton [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, December 20, 2006 8:36 AM
 To: Asterisk Users Mailing List - Non-Commercial Discussion
 Subject: RE: [asterisk-users] Re: Match a Numer - then continue with
 dialplan
 
 
 I haven't really been following this thread but doesn't the following
 snipet kinda do this
 
 [out-international]
 exten = _011,1,goto(process-international,s,1)
 
 [process-international]
 
 exten = s,1,playback(international-call)
 exten = s,n,playback(please-enter-the)
 exten = s,n,read(number,number)
 exten = s,n,Dial(SIP/[EMAIL PROTECTED],120,T)
 exten = s,n,Macro(failann,${DIALSTATUS})
 
 
 This matches 011 then could do any number of things. Here I just goto,
 then it looks for more numbers (the announcement is optional) and then
 dials them.
 
 Maybe not what you are looking for but it is an example of Asterisk
 matching an extension and then going on to take more digits that then
 branch based on other digits. Here the 011 is prepended to the final
 number.

Don't get offended Doug, but I get really frustrated when I try to explain what 
I am trying to do with Asterisk, and people don't seem to quite get it. Your 
about the 4th person who's replied to this post, and hasn't quite grasped my 
question. :) --- smiley.. see...we're all cool.

I don't want Asterisk to go on to ask for more digits. I want to do a very 
simple thing. I want to set a variable when call flow continues beyond a 
certain point (without asking the user for more digits), and then continue on, 
and use that variable later. It's a very simple thing, I can't work out why 
Asterisk doesn't let me do that.

Surely other people have hit the situation where they first check extensions 
within a company, and then if there's no match, you glue all the other 
companies dialplans together with this one. At that point, when one company 
dials another, the caller id that's sent should be the company caller id, not 
the caller id of the individual extension. It's a very common business 
requirement... at least that's what my boss, who has spend many years 
installing TDM pbx's tells me.

 
 BTW - what is a numer?

A numer is a spelling mistake. I was going to change the title, but it would 
have broken the thread.
___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with, dialplan

2006-12-20 Thread Douglas Garstang
 -Original Message-
 From: David Gomillion [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, December 20, 2006 10:27 AM
 To: asterisk-users@lists.digium.com
 Subject: [asterisk-users] Re: Match a Numer - then continue with,
 dialplan
 
 
 I think you're making it far too difficult.
 
 What I do is something like this:
 
 [outgoing]
 include = internal
 include = longdistance
 ;Always include internal first, as matches from the first include
 ;will be used first. This allows you to make sure your internal
 ;extensions don't go out your trunks.
 
 [longdistance]
 ignorepat = 9;
 include = default; already included from local, but putting here for 
 clarity
 include = local;
 
 exten = _91XXX,1,Macro(trunkout,${EXTEN}) ;Medium Distance
 exten = _91XX,1,Macro(trunkout,${EXTEN})  ;Long Distance
 
 Then, I have:
 [macro-trunkout]
 exten = s,1,Set(cname=${DB(showname/${CALLERIDNUM})});
 exten = s,n,Set(cnum=${DB(shownum/${CALLERIDNUM})});
 exten = s,n,GotoIf($[foo${cnum} = foo]?6);   //if 
 calling from ZAP 
 channel that set caller ID already
 exten = s,n,Set(CALLERID(name)=${cname}|a);
 exten = s,n,Set(CALLERID(number)=${cnum}|a);
 exten = s,n,Dial(${TRUNK}/${ARG1:${TRUNKMSD}});
 exten = s,n,Goto(s-${DIALSTATUS},1)
 
 exten = s-ANSWER,1,Hangup
 exten = s-CONGESTION,1,Congestion(30)
 exten = s-CONGESTION,2,Hangup
 exten = s-CANCEL,1,Hangup
 exten = s-BUSY,1,Busy(30)
 exten = s-BUSY,2,Hangup
 
 Why is this important? It's not. But it is fundamentally 
 different from 
 what you're asking. You want to match a partial extension dialed and 
 then continue appending digits. What you really need to do is 
 wait for 
 the whole number, then decide what kind of number it is, do the 
 processing, and send it on its way. It's just a slight change 
 in the way 
 you're thinking, because you understand that there's a class 
 of numbers 
 to treat differently. And that's OK. Just don't do anything with it 
 until the whole extension has been entered!

Uhm, No. I'm not trying to partially match extensions and then continue 
appending digits. What makes you think that?

 
 You'll notice that, anything not going through the trunkout macro 
 doesn't get tweaked, and anything that goes through there 
 will read from 
 the database. I could just as easily set a single value, but 
 I have some 
 users that I want to go out as themselves, and different departments 
 that have a general number, etc. I found the Asterisk 
 Database to be the 
 easiest to tweak, as I have some scripts to allow admins to 
 change the 
 effective CallerID on the fly.

David, this is completely different from what I am trying to do.

Let's try this a different way. Let's say you have two companies. When someone 
calls a number in their own company, we use their INTERNAL caller id. When they 
call someone in another company, we want to send their EXTERNAL caller id. How 
would you do this?

Doug.

 
 I hope this helps! Asterisk can do what you're asking, and it 
 does every 
 day.
 
 
 ___
 --Bandwidth and Colocation provided by Easynews.com --
 
 asterisk-users mailing list
 To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users
 
___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with dialplan

2006-12-20 Thread Douglas Garstang
 -Original Message-
 From: Tony Mountifield [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, December 20, 2006 11:47 AM
 To: asterisk-users@lists.digium.com
 Subject: [asterisk-users] Re: Match a Numer - then continue with
 dialplan
 
 
 In article 
 [EMAIL PROTECTED],
 Douglas Garstang [EMAIL PROTECTED] wrote:
  
  Don't get offended Doug, but I get really frustrated when I 
 try to explain what I am trying
  to do with Asterisk, and people don't seem to quite get it. 
 Your about the 4th person who's
  replied to this post, and hasn't quite grasped my question. 
 :) --- smiley.. see...we're all
  cool.
 
 Perhaps its the terminology you used that is confusing 
 people. See below:
 
  I don't want Asterisk to go on to ask for more digits. I 
 want to do a very simple thing. I
  want to set a variable when call flow continues beyond a 
 certain point (without asking the
  user for more digits), and then continue on, and use that 
 variable later. It's a very simple
  thing, I can't work out why Asterisk doesn't let me do that.
 
 To almost all people call flow would mean executing one 
 priority after
 another for a given extension.
 
 After reading and re-reading your posts trying to work out 
 what you are
 trying to do, it seems to me that when *you* say call flow, 
 you mean the
 act of trying to find an extension. And what your looking for 
 is a way to
 do things a different points in the *search*, while it is 
 still trying to
 decide on a statement to land on. Is that correct?
Yes to the first sentence. Not quite sure what you mean after that.

 
 If so, I think you need to re-think the strategy a bit. The only way a
 command gets executed in a dialplan is when Asterisk has 
 matched an extension
 and a priority. Then once it has executed that command, it 
 increments the
 priority (unless it was a Goto or something) and starts 
 searching again.
That was my original question. I was asking if there was a way to set a 
variable and the continue, which doesn't seem like too strange a thing to have 
Asterisk support.

 
 However, don't forget that it searches for matching 
 extensions every time
 the priority changes. You are not locked into a particular pattern or
 extension number from priority 1 onwards. You can mix and 
 match patterns
 with literal extensions, even across includes, e.g.
Don't follow you. When asterisk matches an extension, it starts interating 
through the priorities until there's none left, or you Goto() somewhere else.

 
 [example]
 include = ctx31X
 include = ctx3XX
 
 exten = _X.,1,NoOp(this gets executed first for everything)
 exten = _X.,2,NoOp(this gets executed second only if ctx31X 
 or ctx3XX didnt match)
 exten = _X.,3,NoOp(this gets executed third for everything)
You lost me here.

 
 [ctx31X]
 exten = _31X,2,NoOp(this gets executed second for 310-319)
 
 [ctx3XX]
 exten = _3XX,2,NoOp(this gets executed second for 300-309 
 and 320-399)


 
 So you might be able to do something along these lines by 
 being creative
 with priorities and includes, and setting or testing 
 variables. Something
 along these lines:
 
 1. Each company starts off in its own context, and at 
Can't do that. The point at which a phone enters the dial plan needs to start 
with rather a long list of include= statements, to grant/deny access to 
certain features.

 priority 1 in _X. it
 sets a variable like SRCCOMPANY to something specific to it.
 It includes all the destination contexts.
 
 2. Each destination context starts at priority 2 and sets a 
 variable like
 DESTCOMPANY to something specific to that destination.
 
 3. At priority 3 in each source context, SRCCOMPANY and 
 DESTCOMPANY are
 compared, in order to decide whether to override the CallerID with the
 source company's generic callerID. Let's say this uses priorities 3, 4
 and 5 (for the GotoIf doing the compare, then the SetCallerID, and the
 NoOp target for the GotoIf when the callerID doesn't need rewriting).
 The destination contexts do not have priorities 3, 4 and 5.
 
 4. The destination contexts continue at priority 6 to route the call.
 
 I think by interleaving priorities between contxts like this 
 you should
 be able to achieve what you are looking for. Please let us 
 know on the list
 if you are successful - it encourages us to keep helping in 
 the future!

I tried your example, which I completely don't follow, and it didn't seem to 
execute as you expected.
Dialling 311 yields:

*CLI 
-- Executing NoOp(SIP/3254101-d10e, this gets executed first for 
everything) in new stack
-- Executing NoOp(SIP/3254101-d10e, this gets executed second only if 
ctx31X or ctx3XX didnt match) in new stack
-- Executing NoOp(SIP/3254101-d10e, this gets executed third for 
everything) in new stack

I need to make extensive use of the include= directive, and I just can't see 
how getting stuck in priorities within an extension is going to allow me to do 
that.

Doug

RE: [asterisk-users] Re: Match a Numer - then continue with dialplan

2006-12-20 Thread Douglas Garstang
 -Original Message-
 From: Tony Mountifield [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, December 20, 2006 11:47 AM
 To: asterisk-users@lists.digium.com
 Subject: [asterisk-users] Re: Match a Numer - then continue with
 dialplan
 
 
 In article 
 [EMAIL PROTECTED],
 Douglas Garstang [EMAIL PROTECTED] wrote:
  
  Don't get offended Doug, but I get really frustrated when I 
 try to explain what I am trying
  to do with Asterisk, and people don't seem to quite get it. 
 Your about the 4th person who's
  replied to this post, and hasn't quite grasped my question. 
 :) --- smiley.. see...we're all
  cool.
 
 Perhaps its the terminology you used that is confusing 
 people. See below:
 
  I don't want Asterisk to go on to ask for more digits. I 
 want to do a very simple thing. I
  want to set a variable when call flow continues beyond a 
 certain point (without asking the
  user for more digits), and then continue on, and use that 
 variable later. It's a very simple
  thing, I can't work out why Asterisk doesn't let me do that.
 
 To almost all people call flow would mean executing one 
 priority after
 another for a given extension.
 
 After reading and re-reading your posts trying to work out 
 what you are
 trying to do, it seems to me that when *you* say call flow, 
 you mean the
 act of trying to find an extension. And what your looking for 
 is a way to
 do things a different points in the *search*, while it is 
 still trying to
 decide on a statement to land on. Is that correct?
 
 If so, I think you need to re-think the strategy a bit. The only way a
 command gets executed in a dialplan is when Asterisk has 
 matched an extension
 and a priority. Then once it has executed that command, it 
 increments the
 priority (unless it was a Goto or something) and starts 
 searching again.
 
 However, don't forget that it searches for matching 
 extensions every time
 the priority changes. You are not locked into a particular pattern or
 extension number from priority 1 onwards. You can mix and 
 match patterns
 with literal extensions, even across includes, e.g.
 
 [example]
 include = ctx31X
 include = ctx3XX
 
 exten = _X.,1,NoOp(this gets executed first for everything)
 exten = _X.,2,NoOp(this gets executed second only if ctx31X 
 or ctx3XX didnt match)
 exten = _X.,3,NoOp(this gets executed third for everything)
 
 [ctx31X]
 exten = _31X,2,NoOp(this gets executed second for 310-319)
 
 [ctx3XX]
 exten = _3XX,2,NoOp(this gets executed second for 300-309 
 and 320-399)
 
 So you might be able to do something along these lines by 
 being creative
 with priorities and includes, and setting or testing 
 variables. Something
 along these lines:
 
 1. Each company starts off in its own context, and at 
 priority 1 in _X. it
 sets a variable like SRCCOMPANY to something specific to it.
 It includes all the destination contexts.

I think that's the deal breaker right there. I can't start a company within an 
extension. The starting point for each phone within a company needs to make 
extensive use of the include= directive. Features will be disabled by default, 
so there will be a list of includes to block unpurchased features. Then we'll 
include contexts for 911, voicemail retrieval and general numbers, ie:

[coo1_CallStart]
include = syst_FeaturePersonalMeetmeBlock
include = syst_FeatureIntercomBlock
include = syst_FeatureIDDBlock
include = syst_Emergency
include = syst_VMRetrieve
include = coo1_General 
include = syst_GeneralInternal
include = syst_ExportedApps
include = syst_Route

Finally, when we're finished scanning for blocked services, and asterisk 
terminated extensions, we try to route the call from this phone to the 
destination number, either OnNet or OffNet. That's where syst_Route comes in.

For managability, we have to use lots of includes. We can't have our entire 
dialplan as one big _X. extension match.
___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with dialplan

2006-12-20 Thread Douglas Garstang
 -Original Message-
 From: Benny Amorsen [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, December 20, 2006 1:04 PM
 To: asterisk-users@lists.digium.com
 Subject: [asterisk-users] Re: Match a Numer - then continue with
 dialplan
 
 
  DG == Douglas Garstang [EMAIL PROTECTED] writes:
 
 DG If I pass a priority, we're right back at square one, we're I'm
 DG stuck in a priority and can't get back to an extension.
 
 You ALWAYS have both a priority and an extension. There is no such
 thing as being stuck in a priority.

Benny, lets say I have this...

exten = _X.,1,NoOp(1)
exten = _X.,2,NoOp(2)
exten = _X.,3,NoOp(3) - Current code execution location

exten = 555,1,NoOp(1)
exten = 555,2,NoOp(2)
exten = 555,3,NoOp(3)

How would I jump back into the dialplan from the current execution location and 
continue to search for matches?

Doug
___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with dialplan

2006-12-20 Thread Douglas Garstang
 [example]
 include = ctx31X
 include = ctx3XX
 
 exten = _X.,1,NoOp(this gets executed first for everything)
 exten = _X.,2,NoOp(this gets executed second only if ctx31X 
 or ctx3XX didnt match)
 exten = _X.,3,NoOp(this gets executed third for everything)
 
 [ctx31X]
 exten = _31X,2,NoOp(this gets executed second for 310-319)
 
 [ctx3XX]
 exten = _3XX,2,NoOp(this gets executed second for 300-309 
 and 320-399)

Does this really work? I've never seen this behavior documented anywhere.
Asterisk always searches the current context before looking in included ones 
for a start.
Second, I don't see how it can just jump out of [example] into [ctx31X] and 
back again without being told to do so 
___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with dialplan

2006-12-20 Thread Douglas Garstang

 -Original Message-
 From: Benny Amorsen [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, December 20, 2006 1:16 PM
 To: asterisk-users@lists.digium.com
 Subject: [asterisk-users] Re: Match a Numer - then continue with
 dialplan
 
 
  DG == Douglas Garstang [EMAIL PROTECTED] writes:
 
 DG Surely other people have hit the situation where they first check
 DG extensions within a company, and then if there's no match, you
 DG glue all the other companies dialplans together with this one.
 
 Of course we have. Just Goto(gluedtogethercontext,${EXTEN},1)

After doing which, you can no longer use the include = directive.
___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with dialplan

2006-12-20 Thread Douglas Garstang
 -Original Message-
 From: Benny Amorsen [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, December 20, 2006 1:14 PM
 To: asterisk-users@lists.digium.com
 Subject: [asterisk-users] Re: Match a Numer - then continue with
 dialplan
 
 
  DG == Douglas Garstang [EMAIL PROTECTED] writes:
 
  -Original Message- From: Benny Amorsen
  [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 20, 2006
  6:16 AM To: asterisk-users@lists.digium.com Subject:
  [asterisk-users] Re: Match a Numer - then continue with dialplan
  
  exten = _.,n,Goto(coo1_CallStart2,${EXTEN},1)
  
  [coo1_CallStart2] include = syst_OnNet include = syst_OffNet
 
 DG That won't do it. Processing will continue in the current
 DG extension priority. I need it to continue looking for an extension
 DG to match against. Once Asterisk has matched the dialled number
 DG against an extension in the dialplan, your stuck in an
 DG extension you can never get out and get Asterisk to go back to
 DG looking for extensions to match against.
 
 It looks for extensions to match against all the time. What you say
 makes no sense.
 
 E.g. this code works, with EXTEN being 321 and starting in incoming.
 
 [incoming]
  exten = _3XX,1,NoOp(We get to this place)
  exten = _X2X,2,Goto(incoming,${EXTEN},700)
  exten = _XX1,700,NoOp(We end up here)
 
 If EXTEN was 301, only priority 1 would run. If it was 320, priority 1
 and 2 would run.

Ok, but how does that help me? All I want to do is set a variable to be used 
later on in the dialplan.
Eg, if someone dialls 2944000, which is in a different company...:

[co1_phone-start]
include = co1_did
include = sys_glue

[co1_did]
exten = 3254101,1,Dial(SIP/3254101,18,tr)
exten = 3254102,1,Dial(SIP/3254102,18,tr)
exten = 3254103,1,Dial(SIP/3254103,18,tr)

; No match, so now we want to use the external caller id variable for use later 
on, when
; we finally dial the dest number after performing all restriction and feature 
checks.
; Actually I just realised we want to SET the caller id.

[sys-glue]
include co1_did
include co2_did



___
--Bandwidth and Colocation provided by Easynews.com --

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


Re: [asterisk-users] Re: Match a Numer - then continue with dialplan

2006-12-20 Thread Mike



DG Surely other people have hit the situation where they first check
DG extensions within a company, and then if there's no match, you
DG glue all the other companies dialplans together with this one.

Of course we have. Just Goto(gluedtogethercontext,${EXTEN},1)



After doing which, you can no longer use the include = directive.
  


Perhaps I can get a clarification before proceeding further...

In reading the thread the situation seems to be: Company A users has a 
user with extension/callerid XXX, he calls someone in company B and you 
want to set the callerid to company A's main number rather than the 
userr's default callerid?


Is this correct?

Mike




___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with dialplan

2006-12-20 Thread Douglas Garstang
 -Original Message-
 From: Mike [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, December 20, 2006 1:53 PM
 To: Asterisk Users Mailing List - Non-Commercial Discussion
 Subject: Re: [asterisk-users] Re: Match a Numer - then continue with
 dialplan
 
 
 
  DG Surely other people have hit the situation where they 
 first check
  DG extensions within a company, and then if there's no match, you
  DG glue all the other companies dialplans together with this one.
 
  Of course we have. Just Goto(gluedtogethercontext,${EXTEN},1)
  
 
  After doing which, you can no longer use the include = directive.

 
 Perhaps I can get a clarification before proceeding further...
 
 In reading the thread the situation seems to be: Company A 
 users has a 
 user with extension/callerid XXX, he calls someone in company 
 B and you 
 want to set the callerid to company A's main number rather than the 
 userr's default callerid?
 
 Is this correct?

Mike,

Exactamundo.

Doug.
___
--Bandwidth and Colocation provided by Easynews.com --

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


Re: [asterisk-users] Re: Match a Numer - then continue with dialplan

2006-12-20 Thread Mike



Perhaps I can get a clarification before proceeding further...

In reading the thread the situation seems to be: Company A 
users has a 
user with extension/callerid XXX, he calls someone in company 
B and you 
want to set the callerid to company A's main number rather than the 
userr's default callerid?


Is this correct?



Mike,

Exactamundo.

Doug.

Ok.

How about:

;outgoing context for company A
[companyA]

;Various include statements
include = foo
.
.
.
;Handle calls from A - B
;Here  will match company B numbers
exten = , 1, Set(CALLERID=CompanyAMain)
exten = , 1, Dial(${EXTEN}

You can do the inverse for companyB, or you could l have a single macro 
that deals with calls to/from each company and decides what do to based 
on the callerid making the call.


Mike.
___
--Bandwidth and Colocation provided by Easynews.com --

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


Re: [asterisk-users] Re: Match a Numer - then continue with dialplan

2006-12-20 Thread Mike

Typo, sorry. Should be:

Here  will match company B numbers
exten = , 1, Set(CALLERID=CompanyAMain)
exten = , 2, Dial(${EXTEN})



;Handle calls from A - B
;Here  will match company B numbers
exten = , 1, Set(CALLERID=CompanyAMain)
exten = , 1, Dial(${EXTEN}

You can do the inverse for companyB, or you could l have a single 
macro that deals with calls to/from each company and decides what do 
to based on the callerid making the call.


Mike.
___
--Bandwidth and Colocation provided by Easynews.com --

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


___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with dialplan

2006-12-20 Thread Douglas Garstang
 -Original Message-
 From: Mike [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, December 20, 2006 2:18 PM
 To: Asterisk Users Mailing List - Non-Commercial Discussion
 Subject: Re: [asterisk-users] Re: Match a Numer - then continue with
 dialplan
 
 
  
  Perhaps I can get a clarification before proceeding further...
 
  In reading the thread the situation seems to be: Company A 
  users has a 
  user with extension/callerid XXX, he calls someone in company 
  B and you 
  want to set the callerid to company A's main number 
 rather than the 
  userr's default callerid?
 
  Is this correct?
  
 
  Mike,
 
  Exactamundo.
 
  Doug.
 Ok.
 
 How about:
 
 ;outgoing context for company A
 [companyA]
 
 ;Various include statements
 include = foo
 .
 .
 .
 ;Handle calls from A - B
 ;Here  will match company B numbers
 exten = , 1, Set(CALLERID=CompanyAMain)
 exten = , 1, Dial(${EXTEN}
 
 You can do the inverse for companyB, or you could l have a 
 single macro 
 that deals with calls to/from each company and decides what 
 do to based 
 on the callerid making the call.
 
 Mike.

Mike, this is a hosted IPT solution. There's potentially going to be hundreds 
(we hope) of companies hosted and configured on this box. I'd have to write 
static code to compare every number in every company to every number in every 
other company, and that's just not feesible.

Doug.
___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with dialplan

2006-12-20 Thread Niklas Larsson
On Wed, 20 Dec 2006 12:16:45 -0700, Douglas Garstang wrote:
 I think that's the deal breaker right there. I can't start a
 company within an extension. The starting point for each phone
 within a company needs to make extensive use of the include=
 directive. Features will be disabled by default, so there will be a
 list of includes to block unpurchased features. Then we'll include
 contexts for 911, voicemail retrieval and general numbers, ie:

 [coo1_CallStart]
 include = syst_FeaturePersonalMeetmeBlock
 include = syst_FeatureIntercomBlock
 include = syst_FeatureIDDBlock
 include = syst_Emergency
 include = syst_VMRetrieve
 include = coo1_General
 include = syst_GeneralInternal
 include = syst_ExportedApps
 include = syst_Route

 Finally, when we're finished scanning for blocked services, and
 asterisk terminated extensions, we try to route the call from this
 phone to the destination number, either OnNet or OffNet. That's
 where syst_Route comes in.

Can't you in coo1_General have a line that sets a var of the current company, 
then in syst_Route compare that var with where the call is going and set the 
correct CID?

Or instead of including syst_Route, include syst_gotoRoute:

exten = 123XXX,1,SET(CALLERID etc.
exten = 123XXX,n,Goto(syst_Route,${EXTEN},1)

/Niklas
___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with, dialplan

2006-12-20 Thread Douglas Garstang
 -Original Message-
 From: Tony Mountifield [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, December 20, 2006 2:41 PM
 To: asterisk-users@lists.digium.com
 Subject: [asterisk-users] Re: Match a Numer - then continue with,
 dialplan
 
 
 In article 
 [EMAIL PROTECTED],
 Douglas Garstang [EMAIL PROTECTED] wrote:
  
  Let's try this a different way. Let's say you have two 
 companies. When someone calls a
  number in their own company, we use their INTERNAL caller 
 id. When they call someone in
  another company, we want to send their EXTERNAL caller id. 
 How would you do this?
 
 Firstly, in the setup you are envisaging, how do you distinguish which
 company the caller is calling from? Their extensions number? 
 The context
 at which they enter the dialplan? Or something else?

Good questions, all of them. Unfortnately, I don't have answers to them. I 
wanted to take our 3000 line python script, which we'd used due to inadequacies 
of the dialplan, and throw the horrible nasty thing out the window.

 
 Secondly, how do you distinguish between destination numbers 
 in one company
 from those in another? Number range? Context?

My brain hurts.
___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with, dialplan

2006-12-20 Thread Michael Collins
  Firstly, in the setup you are envisaging, how do you distinguish
which
  company the caller is calling from? Their extensions number?
  The context
  at which they enter the dialplan? Or something else?
 
 Good questions, all of them. Unfortnately, I don't have answers to
them. I
 wanted to take our 3000 line python script, which we'd used due to
 inadequacies of the dialplan, and throw the horrible nasty thing out
the
 window.
 
 
  Secondly, how do you distinguish between destination numbers
  in one company
  from those in another? Number range? Context?
 

Tony,

Thank you for asking the appropriate questions!  I think you've gotten
to the crux of the matter.  Doug, take some Advil and read the rest of
this post tomorrow! :)

At my work, we have a saying that we use when trying to figure out how
to overcome some technical challenge.  It helps us to focus on the
solution, not the problem.  We simply ask, What is Utopia?  Then, in
plain English, we describe the perfect world.  (Choose the language of
your locale for this exercise.)

Doug, could we try this exercise?  Could you collate the bits and pieces
of your posts in this thread and distill them into a point-by-point
description of your Utopia?  Use as few technical terms and
Asterisk-specific references as possible.  A good starting point is the
list of to-do's that you do for each call: 
Do they have voicemail?
Do they have feature ABC?
Do they have feature XYZ?

After listing all of that, then give us the description of what needs to
happen next, the part about deciding which caller ID info to send.
Pretend like you're explaining it to a bunch of idiots who understand
only small words and short sentences. :)  

My gut tells me that the solution lies in the big picture, not the
details.  The more eyes that see the big picture the better.

Thanks for your patience!

-MC
___
--Bandwidth and Colocation provided by Easynews.com --

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


Re: [asterisk-users] Re: Match a Numer - then continue with, dialplan

2006-12-20 Thread Richard Lyman

Douglas Garstang wrote:

-Original Message-
From: David Gomillion [mailto:[EMAIL PROTECTED]


*snipped


David, this is completely different from what I am trying to do.

Let's try this a different way. Let's say you have two companies. When someone 
calls a number in their own company, we use their INTERNAL caller id. When they 
call someone in another company, we want to send their EXTERNAL caller id. How 
would you do this?

Doug.
  

if it is just callerid then wouldn't the gf stuff (if it still exists) work?

it was something like (man i'm getting old, looking up in wiki)

exten = s,1,Answer()
exten = s,,2,Set(CALLERID(name)=OUTSIDE NAME|CALLERID(num)=xx)
exten = s,2,Set(CALLERID(name)=INSIDE NAME|CALLERID(num)=xx)
exten = s,3,Dial(yadda)

 would obviously be the callerid num of the internal exten



___
--Bandwidth and Colocation provided by Easynews.com --

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


Re: [asterisk-users] Re: Match a Numer - then continue with, dialplan

2006-12-20 Thread Richard Lyman

Richard Lyman wrote:

Douglas Garstang wrote:

-Original Message-
From: David Gomillion [mailto:[EMAIL PROTECTED]


*snipped


David, this is completely different from what I am trying to do.

Let's try this a different way. Let's say you have two companies. 
When someone calls a number in their own company, we use their 
INTERNAL caller id. When they call someone in another company, we 
want to send their EXTERNAL caller id. How would you do this?


Doug.
  
if it is just callerid then wouldn't the gf stuff (if it still exists) 
work?


it was something like (man i'm getting old, looking up in wiki)

exten = s,1,Answer()
exten = s,,2,Set(CALLERID(name)=OUTSIDE 
NAME|CALLERID(num)=xx)

exten = s,2,Set(CALLERID(name)=INSIDE NAME|CALLERID(num)=xx)
exten = s,3,Dial(yadda)

 would obviously be the callerid num of the internal exten



grr, i hate when i typo (and reply to my own posts)
exten = s/,2,Set(CALLERID(name)=OUTSIDE NAME|CALLERID(num)=xx)

/ after the s

sorry


___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with, dialplan

2006-12-20 Thread Douglas Garstang
 -Original Message-
 From: Richard Lyman [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, December 20, 2006 4:29 PM
 To: Asterisk Users Mailing List - Non-Commercial Discussion
 Subject: Re: [asterisk-users] Re: Match a Numer - then continue with,
 dialplan
 
 
 Douglas Garstang wrote:
  -Original Message-
  From: David Gomillion [mailto:[EMAIL PROTECTED]
  
 *snipped
 
  David, this is completely different from what I am trying to do.
 
  Let's try this a different way. Let's say you have two 
 companies. When someone calls a number in their own company, 
 we use their INTERNAL caller id. When they call someone in 
 another company, we want to send their EXTERNAL caller id. 
 How would you do this?
 
  Doug.

 if it is just callerid then wouldn't the gf stuff (if it 
 still exists) work?
 
 it was something like (man i'm getting old, looking up in wiki)
 
 exten = s,1,Answer()
 exten = s,,2,Set(CALLERID(name)=OUTSIDE 
 NAME|CALLERID(num)=xx)
 exten = s,2,Set(CALLERID(name)=INSIDE NAME|CALLERID(num)=xx)
 exten = s,3,Dial(yadda)
 
  would obviously be the callerid num of the internal exten

If there's hundreds of companies on this box, we'd need an exponentially larger 
number of statements...
___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with, dialplan

2006-12-20 Thread Doug Crompton
On Wed, 20 Dec 2006, Michael Collins wrote:

 After listing all of that, then give us the description of what needs to
 happen next, the part about deciding which caller ID info to send.
 Pretend like you're explaining it to a bunch of idiots who understand
 only small words and short sentences. :)


Damn, I didn't know Bush was subscribed to this list!

___
--Bandwidth and Colocation provided by Easynews.com --

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


RE: [asterisk-users] Re: Match a Numer - then continue with, dialplan

2006-12-20 Thread Douglas Garstang
I seriously doubt he'd know how to get on the 'Internets'


-Original Message-
From:   Doug Crompton [mailto:[EMAIL PROTECTED]
Sent:   Wed 12/20/2006 8:07 PM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Cc: 
Subject:RE: [asterisk-users] Re: Match a Numer - then continue with, 
dialplan

On Wed, 20 Dec 2006, Michael Collins wrote:

 After listing all of that, then give us the description of what needs to
 happen next, the part about deciding which caller ID info to send.
 Pretend like you're explaining it to a bunch of idiots who understand
 only small words and short sentences. :)


Damn, I didn't know Bush was subscribed to this list!

___
--Bandwidth and Colocation provided by Easynews.com --

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



___
--Bandwidth and Colocation provided by Easynews.com --

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