forking CDR could help Ricardo.<br><br><div><span class="gmail_quote">On 12/15/06, <b class="gmail_sendername">Ricardo Martins</b> &lt;<a href="mailto:rpoppi77@gmail.com">rpoppi77@gmail.com</a>&gt; 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 John, Iīm very interested into this call forwarding capabilities and<br>I solved this problem filtering on the web-script (in my case, php) the<br>number the user can intert on the database. (I know itīs not an asterisk
<br>solution).<br><br>There is an issue that I couldnīt handle. When I forward the call, I<br>want to charge the user that the call was made FOR. How are you dealing<br>with that? Going direct to the point, I just need to know - a tip would
<br>be apreciated either - how to translate/replace the FROM field of the<br>forwarded call.<br><br>Rgds, Ricardo.<br><br><br>John French wrote:<br><br>&gt;I&#39;m simply trying to forward calls to users who have the call forwarding
<br>&gt;feature enabled (FWD Status and FWD Ph Number kept in the astDB).&nbsp;&nbsp;The<br>&gt;problem is that I want users to be able to forward calls to numbers that<br>&gt;they would normally be allowed to dial within their own context. (I
<br>&gt;don&#39;t want a local call only person forwarding to a long dist number,<br>&gt;for example.)&nbsp;&nbsp;I&#39;m able to get the channel context for SIP devices but<br>&gt;not for IAX or Zap Devices.&nbsp;&nbsp;I need some pointers on getting IAXPEER to
<br>&gt;work and how to handle getting the ZAP context info.&nbsp;&nbsp;If there&#39;s an<br>&gt;easier way, I&#39;m all ears.&nbsp;&nbsp;Thanks.<br>&gt;<br>&gt;; #####################Set Some Variables####################<br>&gt;exten =&gt; s,1,Set(DEVICE=${ARG1}) ;i.e. SIP/johns_phone
<br>&gt;exten =&gt; s,n,Set(Protocol=${CUT(DEVICE,/,1)}) ;Parse out SIP<br>&gt;exten =&gt; s,n,Set(Phone=${CUT(DEVICE,/,2)})&nbsp;&nbsp;;Parse out johns_phone<br>&gt;<br>&gt;;Stuff omitted for some amout of brevity....<br>&gt;<br>&gt;; #####################Make Forward Calls######################
<br>&gt;; We only want people to be able to forward to numbers they could<br>&gt;normally call<br>&gt;; We&#39;ll have to somehow get their dialing contexts from the channel conf<br>&gt;files.<br>&gt;exten =&gt; s,n(Forward),NoOp()
<br>&gt;<br>&gt;exten =&gt; s,n,GotoIf($[&quot;${Protocol}&quot; = &quot;SIP&quot;]?SIPDev)<br>&gt;exten =&gt; s,n,GotoIf($[&quot;${Protocol}&quot; = &quot;IAX2&quot;]?IAXDev)<br>&gt;exten =&gt; s,n,Goto(ZapDev)<br>&gt;<br>
&gt;;ok, they are an IAX device so use IAXPEER<br>&gt;exten =&gt;<br>&gt;s,n(IAXDev),Set(CalledUsersContext=${IAXPEER(${Phone}:context)})<br>&gt;exten =&gt; s,n,Goto(dial_time)<br>&gt;<br>&gt;;ok, they are an SIP device so use SIPPEER
<br>&gt;exten =&gt;<br>&gt;s,n(SIPDev),Set(CalledUsersContext=${SIPPEER(${Phone}:context)})<br>&gt;exten =&gt; s,n,Goto(dial_time)<br>&gt;<br>&gt;;ok, they are an Zap device so use... Uhhhhh.<br>&gt;exten =&gt; s,n(ZapDev),NoOp( I have no clue how to get the zap channel&#39;s
<br>&gt;context...)<br>&gt;<br>&gt;exten =&gt; s,n(dial_time),NoOp(======================&gt; Chan Type<br>&gt;${Protocol})<br>&gt;exten =&gt; s,n,NoOp(======================&gt; Chan Name ${Phone})<br>&gt;exten =&gt; s,n,NoOp(======================&gt; Channel User&#39;s context
<br>&gt;${CalledUsersContext})<br>&gt;exten =&gt; s,n,Dial(Local/${FWDNumber}@${CalledUsersContext}/n)<br>&gt;<br>&gt;<br>&gt;Results at console on verbosity 9:<br>&gt;SIPPEER() Works as advertised when I dial a SIP phone which has been
<br>&gt;call forwarded<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;-- Executing NoOp(&quot;Zap/1-1&quot;, &quot;======================&gt; Chan Type<br>&gt;SIP&quot;) in new stack<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;-- Executing NoOp(&quot;Zap/1-1&quot;, &quot;======================&gt; Chan Name
<br>&gt;jf_linksys&quot;) in new stack<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;-- Executing NoOp(&quot;Zap/1-1&quot;, &quot;======================&gt; Channel Users<br>&gt;context longdistance_users&quot;) in new stack<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;-- Executing Dial(&quot;Zap/1-1&quot;, &quot;
Local/5551212@longdistance_users/n&quot;)<br>&gt;in new stack<br>&gt;<br>&gt;IAXPEER() Seems to be broken or I don&#39;t know how to use it properly.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;-- Executing NoOp(&quot;SIP/jf_linksys-08f20548&quot;,<br>&gt;&quot;======================&gt; Chan Type IAX2&quot;) in new stack
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;-- Executing NoOp(&quot;SIP/jf_linksys-08f20548&quot;,<br>&gt;&quot;======================&gt; Chan Name johns_pc&quot;) in new stack<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;-- Executing NoOp(&quot;SIP/jf_linksys-08f20548&quot;,<br>&gt;&quot;======================&gt; Channel Users context &quot;) in new stack
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;-- Executing Dial(&quot;SIP/jf_linksys-08f20548&quot;, &quot;Local/5551212@/n&quot;) in<br>&gt;new stack<br>&gt;_______________________________________________<br>&gt;--Bandwidth and Colocation provided by <a href="http://Easynews.com">
Easynews.com</a> --<br>&gt;<br>&gt;asterisk-users mailing list<br>&gt;To UNSUBSCRIBE or update options visit:<br>&gt;&nbsp;&nbsp; <a href="http://lists.digium.com/mailman/listinfo/asterisk-users">http://lists.digium.com/mailman/listinfo/asterisk-users
</a><br>&gt;<br>&gt;<br>&gt;<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>&nbsp;&nbsp; <a href="http://lists.digium.com/mailman/listinfo/asterisk-users">http://lists.digium.com/mailman/listinfo/asterisk-users</a><br></blockquote></div><br>