[asterisk-users] Trying to forward calls by using the Callee's context as the forward dial context

2006-12-15 Thread John French
I'm simply trying to forward calls to users who have the call forwarding 
feature enabled (FWD Status and FWD Ph Number kept in the astDB).  The 
problem is that I want users to be able to forward calls to numbers that 
they would normally be allowed to dial within their own context. (I 
don't want a local call only person forwarding to a long dist number, 
for example.)  I'm able to get the channel context for SIP devices but 
not for IAX or Zap Devices.  I need some pointers on getting IAXPEER to 
work and how to handle getting the ZAP context info.  If there's an 
easier way, I'm all ears.  Thanks.

; #Set Some Variables
exten = s,1,Set(DEVICE=${ARG1}) ;i.e. SIP/johns_phone
exten = s,n,Set(Protocol=${CUT(DEVICE,/,1)}) ;Parse out SIP
exten = s,n,Set(Phone=${CUT(DEVICE,/,2)})  ;Parse out johns_phone

;Stuff omitted for some amout of brevity

; #Make Forward Calls##
; We only want people to be able to forward to numbers they could 
normally call
; We'll have to somehow get their dialing contexts from the channel conf 
files.
exten = s,n(Forward),NoOp()

exten = s,n,GotoIf($[${Protocol} = SIP]?SIPDev)
exten = s,n,GotoIf($[${Protocol} = IAX2]?IAXDev)
exten = s,n,Goto(ZapDev)

;ok, they are an IAX device so use IAXPEER
exten = 
s,n(IAXDev),Set(CalledUsersContext=${IAXPEER(${Phone}:context)})
exten = s,n,Goto(dial_time)

;ok, they are an SIP device so use SIPPEER
exten = 
s,n(SIPDev),Set(CalledUsersContext=${SIPPEER(${Phone}:context)})
exten = s,n,Goto(dial_time)

;ok, they are an Zap device so use... Uh.
exten = s,n(ZapDev),NoOp( I have no clue how to get the zap channel's 
context...)

exten = s,n(dial_time),NoOp(== Chan Type 
${Protocol})
exten = s,n,NoOp(== Chan Name ${Phone})
exten = s,n,NoOp(== Channel User's context 
${CalledUsersContext})
exten = s,n,Dial(Local/[EMAIL PROTECTED]/n)


Results at console on verbosity 9:
SIPPEER() Works as advertised when I dial a SIP phone which has been 
call forwarded
-- Executing NoOp(Zap/1-1, == Chan Type 
SIP) in new stack
-- Executing NoOp(Zap/1-1, == Chan Name 
jf_linksys) in new stack
-- Executing NoOp(Zap/1-1, == Channel Users 
context longdistance_users) in new stack
-- Executing Dial(Zap/1-1, Local/[EMAIL PROTECTED]/n) 
in new stack

IAXPEER() Seems to be broken or I don't know how to use it properly.
-- Executing NoOp(SIP/jf_linksys-08f20548, 
== Chan Type IAX2) in new stack
-- Executing NoOp(SIP/jf_linksys-08f20548, 
== Chan Name johns_pc) in new stack
-- Executing NoOp(SIP/jf_linksys-08f20548, 
== Channel Users context ) in new stack
-- Executing Dial(SIP/jf_linksys-08f20548, Local/5551212@/n) in 
new stack
___
--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] Trying to forward calls by using the Callee's context as the forward dial context

2006-12-15 Thread Marco Mouta

Hi John,

I would try to use on sip.conf and iax.conf and zapata.conf:

on every user (friend or whatever) defined add this:

[useraccount]

setvar=mycontext=yourcontext


--
This variable will become available for every user, so you just need to use
it in your dialplan in extensions.conf

Noop(User context:$mycontext)

This is just an idea, please give some feedback if it helped and some how
you will test if the forward number is valid or not :)

Probably isn't hard , but is not clear yet for me and i'm busy :)

Best Regards,
Marco Mouta


On 12/15/06, John French [EMAIL PROTECTED] wrote:


I'm simply trying to forward calls to users who have the call forwarding
feature enabled (FWD Status and FWD Ph Number kept in the astDB).  The
problem is that I want users to be able to forward calls to numbers that
they would normally be allowed to dial within their own context. (I
don't want a local call only person forwarding to a long dist number,
for example.)  I'm able to get the channel context for SIP devices but
not for IAX or Zap Devices.  I need some pointers on getting IAXPEER to
work and how to handle getting the ZAP context info.  If there's an
easier way, I'm all ears.  Thanks.

; #Set Some Variables
exten = s,1,Set(DEVICE=${ARG1}) ;i.e. SIP/johns_phone
exten = s,n,Set(Protocol=${CUT(DEVICE,/,1)}) ;Parse out SIP
exten = s,n,Set(Phone=${CUT(DEVICE,/,2)})  ;Parse out johns_phone

;Stuff omitted for some amout of brevity

; #Make Forward Calls##
; We only want people to be able to forward to numbers they could
normally call
; We'll have to somehow get their dialing contexts from the channel conf
files.
exten = s,n(Forward),NoOp()

exten = s,n,GotoIf($[${Protocol} = SIP]?SIPDev)
exten = s,n,GotoIf($[${Protocol} = IAX2]?IAXDev)
exten = s,n,Goto(ZapDev)

;ok, they are an IAX device so use IAXPEER
exten =
s,n(IAXDev),Set(CalledUsersContext=${IAXPEER(${Phone}:context)})
exten = s,n,Goto(dial_time)

;ok, they are an SIP device so use SIPPEER
exten =
s,n(SIPDev),Set(CalledUsersContext=${SIPPEER(${Phone}:context)})
exten = s,n,Goto(dial_time)

;ok, they are an Zap device so use... Uh.
exten = s,n(ZapDev),NoOp( I have no clue how to get the zap channel's
context...)

exten = s,n(dial_time),NoOp(== Chan Type
${Protocol})
exten = s,n,NoOp(== Chan Name ${Phone})
exten = s,n,NoOp(== Channel User's context
${CalledUsersContext})
exten = s,n,Dial(Local/[EMAIL PROTECTED]/n)


Results at console on verbosity 9:
SIPPEER() Works as advertised when I dial a SIP phone which has been
call forwarded
-- Executing NoOp(Zap/1-1, == Chan Type
SIP) in new stack
-- Executing NoOp(Zap/1-1, == Chan Name
jf_linksys) in new stack
-- Executing NoOp(Zap/1-1, == Channel Users
context longdistance_users) in new stack
-- Executing Dial(Zap/1-1, Local/[EMAIL PROTECTED]/n)
in new stack

IAXPEER() Seems to be broken or I don't know how to use it properly.
-- Executing NoOp(SIP/jf_linksys-08f20548,
== Chan Type IAX2) in new stack
-- Executing NoOp(SIP/jf_linksys-08f20548,
== Chan Name johns_pc) in new stack
-- Executing NoOp(SIP/jf_linksys-08f20548,
== Channel Users context ) in new stack
-- Executing Dial(SIP/jf_linksys-08f20548, Local/5551212@/n) in
new stack
___
--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] Trying to forward calls by using the Callee's context as the forward dial context

2006-12-15 Thread Ricardo Martins
Hi John, I´m very interested into this call forwarding capabilities and 
I solved this problem filtering on the web-script (in my case, php) the 
number the user can intert on the database. (I know it´s not an asterisk 
solution).


There is an issue that I couldn´t handle. When I forward the call, I 
want to charge the user that the call was made FOR. How are you dealing 
with that? Going direct to the point, I just need to know - a tip would 
be apreciated either - how to translate/replace the FROM field of the 
forwarded call.


Rgds, Ricardo.


John French wrote:

I'm simply trying to forward calls to users who have the call forwarding 
feature enabled (FWD Status and FWD Ph Number kept in the astDB).  The 
problem is that I want users to be able to forward calls to numbers that 
they would normally be allowed to dial within their own context. (I 
don't want a local call only person forwarding to a long dist number, 
for example.)  I'm able to get the channel context for SIP devices but 
not for IAX or Zap Devices.  I need some pointers on getting IAXPEER to 
work and how to handle getting the ZAP context info.  If there's an 
easier way, I'm all ears.  Thanks.


; #Set Some Variables
exten = s,1,Set(DEVICE=${ARG1}) ;i.e. SIP/johns_phone
exten = s,n,Set(Protocol=${CUT(DEVICE,/,1)}) ;Parse out SIP
exten = s,n,Set(Phone=${CUT(DEVICE,/,2)})  ;Parse out johns_phone

;Stuff omitted for some amout of brevity

; #Make Forward Calls##
; We only want people to be able to forward to numbers they could 
normally call
; We'll have to somehow get their dialing contexts from the channel conf 
files.

exten = s,n(Forward),NoOp()

exten = s,n,GotoIf($[${Protocol} = SIP]?SIPDev)
exten = s,n,GotoIf($[${Protocol} = IAX2]?IAXDev)
exten = s,n,Goto(ZapDev)

;ok, they are an IAX device so use IAXPEER
exten = 
s,n(IAXDev),Set(CalledUsersContext=${IAXPEER(${Phone}:context)})

exten = s,n,Goto(dial_time)

;ok, they are an SIP device so use SIPPEER
exten = 
s,n(SIPDev),Set(CalledUsersContext=${SIPPEER(${Phone}:context)})

exten = s,n,Goto(dial_time)

;ok, they are an Zap device so use... Uh.
exten = s,n(ZapDev),NoOp( I have no clue how to get the zap channel's 
context...)


exten = s,n(dial_time),NoOp(== Chan Type 
${Protocol})

exten = s,n,NoOp(== Chan Name ${Phone})
exten = s,n,NoOp(== Channel User's context 
${CalledUsersContext})

exten = s,n,Dial(Local/[EMAIL PROTECTED]/n)


Results at console on verbosity 9:
SIPPEER() Works as advertised when I dial a SIP phone which has been 
call forwarded
   -- Executing NoOp(Zap/1-1, == Chan Type 
SIP) in new stack
   -- Executing NoOp(Zap/1-1, == Chan Name 
jf_linksys) in new stack
   -- Executing NoOp(Zap/1-1, == Channel Users 
context longdistance_users) in new stack
   -- Executing Dial(Zap/1-1, Local/[EMAIL PROTECTED]/n) 
in new stack


IAXPEER() Seems to be broken or I don't know how to use it properly.
   -- Executing NoOp(SIP/jf_linksys-08f20548, 
== Chan Type IAX2) in new stack
   -- Executing NoOp(SIP/jf_linksys-08f20548, 
== Chan Name johns_pc) in new stack
   -- Executing NoOp(SIP/jf_linksys-08f20548, 
== Channel Users context ) in new stack
   -- Executing Dial(SIP/jf_linksys-08f20548, Local/5551212@/n) in 
new stack

___
--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] Trying to forward calls by using the Callee's context as the forward dial context

2006-12-15 Thread Marco Mouta

forking CDR could help Ricardo.

On 12/15/06, Ricardo Martins [EMAIL PROTECTED] wrote:


Hi John, I´m very interested into this call forwarding capabilities and
I solved this problem filtering on the web-script (in my case, php) the
number the user can intert on the database. (I know it´s not an asterisk
solution).

There is an issue that I couldn´t handle. When I forward the call, I
want to charge the user that the call was made FOR. How are you dealing
with that? Going direct to the point, I just need to know - a tip would
be apreciated either - how to translate/replace the FROM field of the
forwarded call.

Rgds, Ricardo.


John French wrote:

I'm simply trying to forward calls to users who have the call forwarding
feature enabled (FWD Status and FWD Ph Number kept in the astDB).  The
problem is that I want users to be able to forward calls to numbers that
they would normally be allowed to dial within their own context. (I
don't want a local call only person forwarding to a long dist number,
for example.)  I'm able to get the channel context for SIP devices but
not for IAX or Zap Devices.  I need some pointers on getting IAXPEER to
work and how to handle getting the ZAP context info.  If there's an
easier way, I'm all ears.  Thanks.

; #Set Some Variables
exten = s,1,Set(DEVICE=${ARG1}) ;i.e. SIP/johns_phone
exten = s,n,Set(Protocol=${CUT(DEVICE,/,1)}) ;Parse out SIP
exten = s,n,Set(Phone=${CUT(DEVICE,/,2)})  ;Parse out johns_phone

;Stuff omitted for some amout of brevity

; #Make Forward Calls##
; We only want people to be able to forward to numbers they could
normally call
; We'll have to somehow get their dialing contexts from the channel conf
files.
exten = s,n(Forward),NoOp()

exten = s,n,GotoIf($[${Protocol} = SIP]?SIPDev)
exten = s,n,GotoIf($[${Protocol} = IAX2]?IAXDev)
exten = s,n,Goto(ZapDev)

;ok, they are an IAX device so use IAXPEER
exten =
s,n(IAXDev),Set(CalledUsersContext=${IAXPEER(${Phone}:context)})
exten = s,n,Goto(dial_time)

;ok, they are an SIP device so use SIPPEER
exten =
s,n(SIPDev),Set(CalledUsersContext=${SIPPEER(${Phone}:context)})
exten = s,n,Goto(dial_time)

;ok, they are an Zap device so use... Uh.
exten = s,n(ZapDev),NoOp( I have no clue how to get the zap channel's
context...)

exten = s,n(dial_time),NoOp(== Chan Type
${Protocol})
exten = s,n,NoOp(== Chan Name ${Phone})
exten = s,n,NoOp(== Channel User's context
${CalledUsersContext})
exten = s,n,Dial(Local/[EMAIL PROTECTED]/n)


Results at console on verbosity 9:
SIPPEER() Works as advertised when I dial a SIP phone which has been
call forwarded
-- Executing NoOp(Zap/1-1, == Chan Type
SIP) in new stack
-- Executing NoOp(Zap/1-1, == Chan Name
jf_linksys) in new stack
-- Executing NoOp(Zap/1-1, == Channel Users
context longdistance_users) in new stack
-- Executing Dial(Zap/1-1, Local/[EMAIL PROTECTED]/n)
in new stack

IAXPEER() Seems to be broken or I don't know how to use it properly.
-- Executing NoOp(SIP/jf_linksys-08f20548,
== Chan Type IAX2) in new stack
-- Executing NoOp(SIP/jf_linksys-08f20548,
== Chan Name johns_pc) in new stack
-- Executing NoOp(SIP/jf_linksys-08f20548,
== Channel Users context ) in new stack
-- Executing Dial(SIP/jf_linksys-08f20548, Local/5551212@/n) in
new stack
___
--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

___
--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