Charles Wang
2005-May-11  22:23 UTC
[Asterisk-Users] HELP: ASTCC (AGI) meets call forward ERROR
Hi, ALL:
When I use astcc to do the prepaid function, but if I want to enable
"call forward".
The result of CDR seems not correct.
UA 1011 make a call to UA 9999, and UA 9999 forwards this call to a PSTN number.
I think we shall charge the credit from UA 9999 not UA 1011 because UA
1011 don't know where UA 9999 forwards to.
But in CDR, I can only find the from(1011) and destination(PSTN number). 
I can't find UA 9999 from this CDR so I can't charge to UA 9999.
It seems unreasonable.
I use asterisk -rvvvvvvvv and "sip debug" to debug my sip channel.
And I build my sip proxy(5060) and asterisk(5065) on the same machine.
I make a call from 1011 to 9999 on sip proxy,
sip proxy forwards this call to "0939749001".
And this 0939749001 will be sent to asterisk by sip proxy.
sip ua(1011) => sipproxy => sip ua 9999 ( call forward 0939749001)
                          ||
                          ======> asterisk ===> cisco 5300 ==>
0939749001 (pstn)
I can find $EXTEN is equal to 0939749001 ( a mobile phone number )
and my $CALLERIDNUM is 1011
But how can I get the value of "9999" from "To:" field? (
via this sip ua)
In another word, I want to record the "middle" man.
My extensions.conf :
------------------------------------------------------------------------------------------------------------------------
exten => _.,1,Answer
exten => _.,2,DeadAGI(astcc.agi,${CALLERIDNUM},${EXTEN})
exten => _.,3,Hangup
------------------------------------------------------------------------------------------------------------------------
My log on asterisk CLI:
=========================================================== -- Executing
DeadAGI("SIP/61.220.xxx.xxx-081888c8",
"astcc.agi|1011|0939749001|4") in new stack
 -- Launched AGI Script /var/lib/asterisk/agi-bin/astcc.agi
ser*CLI>
<-- SIP read from 61.220.xxx.xxx:5060:
ACK sip:0939749001@61.220.xxx.xxx:5065 SIP/2.0
Record-Route: <sip:61.220.xxx.xxx;ftag=915860198;lr=on>
Via: SIP/2.0/UDP 61.220.xxx.xxx;branch=0
Via: SIP/2.0/UDP
220.134.18.190:47286;rport=47286;branch=z9hG4bKB90B5F6F80294C48AACF7BDE31B9D2F1
From: 1011 <sip:1011@61.220.xxx.xxx>;tag=915860198
To: <sip:9999@61.220.xxx.xxx>;tag=as1c0a7e38    <=== I want to get this
value
Contact: <sip:1011@220.134.xxx.xxx:47286>
Call-ID: 697AFAC3-F5D0-4297-811E-EE32728503AF@192.168.1.2
CSeq: 57194 ACK
Max-Forwards: 16
Content-Length: 0
===========================================================
-- 
Best Regards
Charles
Charles Wang
2005-May-13  00:23 UTC
[Asterisk-Users] Re: HELP: ASTCC (AGI) meets call forward ERROR
On 5/12/05, Charles Wang <lazy.charles@gmail.com> wrote:> Hi, ALL: > > When I use astcc to do the prepaid function, but if I want to enable > "call forward". > The result of CDR seems not correct. > > UA 1011 make a call to UA 9999, and UA 9999 forwards this call to a PSTN number. > > I think we shall charge the credit from UA 9999 not UA 1011 because UA > 1011 don't know where UA 9999 forwards to. > > But in CDR, I can only find the from(1011) and destination(PSTN number). > I can't find UA 9999 from this CDR so I can't charge to UA 9999. > It seems unreasonable. > > I use asterisk -rvvvvvvvv and "sip debug" to debug my sip channel. > And I build my sip proxy(5060) and asterisk(5065) on the same machine. > > I make a call from 1011 to 9999 on sip proxy, > sip proxy forwards this call to "0939749001". > And this 0939749001 will be sent to asterisk by sip proxy. > > sip ua(1011) => sipproxy => sip ua 9999 ( call forward 0939749001) > || > ======> asterisk ===> cisco 5300 ==> > 0939749001 (pstn) > > I can find $EXTEN is equal to 0939749001 ( a mobile phone number ) > and my $CALLERIDNUM is 1011 > But how can I get the value of "9999" from "To:" field? ( via this sip ua) > In another word, I want to record the "middle" man. > > My extensions.conf : > ------------------------------------------------------------------------------------------------------------------------ > exten => _.,1,Answer > exten => _.,2,DeadAGI(astcc.agi,${CALLERIDNUM},${EXTEN}) > exten => _.,3,Hangup > ------------------------------------------------------------------------------------------------------------------------ > > My log on asterisk CLI: > ===========================================================> -- Executing DeadAGI("SIP/61.220.xxx.xxx-081888c8", > "astcc.agi|1011|0939749001|4") in new stack > -- Launched AGI Script /var/lib/asterisk/agi-bin/astcc.agi > ser*CLI> > <-- SIP read from 61.220.xxx.xxx:5060: > ACK sip:0939749001@61.220.xxx.xxx:5065 SIP/2.0 > Record-Route: <sip:61.220.xxx.xxx;ftag=915860198;lr=on> > Via: SIP/2.0/UDP 61.220.xxx.xxx;branch=0 > Via: SIP/2.0/UDP > 220.134.18.190:47286;rport=47286;branch=z9hG4bKB90B5F6F80294C48AACF7BDE31B9D2F1 > From: 1011 <sip:1011@61.220.xxx.xxx>;tag=915860198 > To: <sip:9999@61.220.xxx.xxx>;tag=as1c0a7e38 <=== I want to get this value > Contact: <sip:1011@220.134.xxx.xxx:47286> > Call-ID: 697AFAC3-F5D0-4297-811E-EE32728503AF@192.168.1.2 > CSeq: 57194 ACK > Max-Forwards: 16 > Content-Length: 0 > ===========================================================> > -- > > Best Regards > Charles >-- Best Regards Charles