Ticket #193 (closed defect: duplicate)

Opened 10 months ago

Last modified 6 months ago

Call-Back Issue; Lots of homework to be done!

Reported by: jaberize Assigned to: areski
Priority: critical Milestone:
Component: CallBack Version: Stable 1.3.2 (Yellowjacket)
Keywords: Cc:

Description

Hi Guys, Just a quick brief, ive been workin on VoIP systems for over a year now in locations which offer very restricted telecom freedom. And from this experience I would like to contribute my knowledge with respect to establishing/connecting VoIP systems behind VPN's and firewalls. Solutions which would otherwise cost a fortune to build!

DTMF issue are another of my little expertise as well.

Now lets me get down to the more important point, Ive recently gotten an a2billing platform hosted and this was mainly set for call-back.

The following are the problems I am facing:

1. The place that I am currently send the CID to the system including the intl:00 now usually to adjust this one would goto the extensions_a2billing.conf, and ammend the custom-a2billing-all-callback, (I use PIN type call-back) and the following is what should be set usually:

[custom-a2billing-all-callback] exten => _X.,1,deadAGI(a2billing.php|1|all-callback) ;last parameter is the callback area code exten => _X.,n,Hangup

The problem is that when I update the conf file using these settings, no call-back is ever initiated, even when I check the call-back list (which shows the call-back logs), I cant find any call back initiated! So, what I tend to do is keep the setting as:

[custom-a2billing-all-callback] exten => _X.,1,deadAGI(a2billing.php|1|all-callback|XXX) ;last parameter is the callback area code exten => _X.,n,Hangup

where XXX represents my country code. now when I do that I also get an error but this time it appears in the call-back log as the following: Error-Originate SIP/ipagecall/XXX00YYY502539586; - YYY = intl country code note the XXX before my CID, and when the variables change in the conf file they also change in the call-back list/log to show those variables.

Now given this, one issue which is the server receiving the log is solved, then comes the other issue (3):

for the server to call back the mentioned number, we would get an error which is clearly understood given the repeated digits and the wrong number created by conf file; so an adjustment to that would be to add remove_prefix on the trunk receiving the call (note I am emphasising on the trunk receiving the call) to XXX; this way the server would call the number called as follows which is what we need:

SENT Success-Origina AGI PROCESSING SIP/ipagecall/00XXX502539586

Then comes issue (4), when users dial out the number they would usually dial out 00 for intl calling, or even if they dont I know that we can add a prefix to the trunk to complete the intl call; but, now since we have a remove_prefix on one trunk we would have to create another trunk which will be specifically for the 2nd leg of the call (i.e. the outbound call). the issue lies when the caller dials in the number (be it that we have a prefix or not on the trunk) he will always get an error which mentions that the number dialed is currently unavailable (looking at the CLI, it is clearly mentioned that the number cannot be retrieved from the rateengine given that we have added that country specifc rate!). My solution to this was simply to add a 00 before the prefix and then the server would recognize the rate from the rateengine (P.S. when I add a prefix 00 on the trunk, that wouldnt work!)

Issue (5), and the final and most important issue I guess, is that the server is not calculating the call time remaining properly, the following is an example:

Please note the way the calculations are made:

a2billing.php|1|callback: file:Class.A2Billing.php - line:1870 - [SET LANGUAGE() en] a2billing.php|1|callback: file:Class.A2Billing.php - line:649 - [CARD STATUS UPDATE : UPDATE cc_card SET inuse=inuse+1 WHERE username='0237117612'] a2billing.php|1|callback: file:Class.A2Billing.php - line:1950 - [A2Billing] SAY BALANCE : 2.81000 a2billing.php|1|callback:

and then:

a2billing.php|1|callback: file:Class.A2Billing.php - line:678 - RES DTMF : 13182293475

a2billing.php|1|callback: file:Class.A2Billing.php - line:696 - DESTINATION ::> 13182293475 a2billing.php|1|callback: file:Class.A2Billing.php - line:698 - RULES APPLY ON DESTINATION ::> 13182293475 a2billing.php|1|callback: file:Class.A2Billing.php - line:736 - OK - RESFINDRATE::> 1 a2billing.php|1|callback: file:Class.A2Billing.php - line:758 - RES_ALL_CALCULTIMEOUT ::> 1 a2billing.php|1|callback: file:Class.A2Billing.php - line:775 - TIMEOUT::> 2460 : minutes=41 - seconds=0

-- Playing 'digits/40' (language 'en')

Well in the above, you can see that the remaining balance is 2.81,

Leg 1 costs the caller: 0.1825 Leg 2 costs the caller: 0.03

We should be getting somewhere between 13 mins of remaining calls!

Now you I can take a breath from typing, phew...

I would really appreciate any help contributed here as I do believe that I am not the only person that might have gone through the same issue; I think that in the above situation the only pending problem would be the calculations part. But I do suggest for the developers to look into the adjustment of the incoming CID for specific countries since some values/variables may not be working correctly.

Truly Yours,

J == [

----


[[BR]]

] ==

Change History

(in reply to: ↑ description ) 06/02/08 06:35:09 changed by stavros

  • status changed from new to closed.
  • resolution set to duplicate.

Replying to jaberize:

I think that in the above situation the only pending problem would be the calculations part.

So this is a dupe of #187



Google