-
Notifications
You must be signed in to change notification settings - Fork 4
/
CHANGELOG
2438 lines (1695 loc) · 85.2 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
********************************************************************
V1.4
********************************************************************
#### no answer on followme
********************************************************************
a2billing.php|2|did: file:Class.A2Billing.php - line:952 - [A2Billing] DID call friend: FOLLOWME=2 (cardnumber:7909954270|destination:5995815170|tariff:21)
make a new voice promoted to replace the one called prepaid-noanswerand make a new one called prepaid-callfollowme
prepaid-callfollowme :
"The person you are trying to reach did not answer. Please wait as the called party has the feature call follow me activated and we will route your call to the called party"
"la persona a la que ustede llamo no se encuentra disponible, porfavor espere on momento el servicio sigueme enrutara su llamada"
"La personne que vous essayez de contacter n est pas disponible, restez en ligne pendant que notre service fait suivre votre appel"
#### TODO : ARCHIVE CDRs & Cards
********************************************************************
We will create cc_call_archive && cc_card_archive
table with the same structure cc_call where id will be primary key.
So we can build a cront application that will weekly, retrieve all the CDRs
older than X months move them to cc_call_archive and then
explain the Database and rebuild index so that it start to be fast again.
X Month will be in parameter in config
Think to better solution maybe !?
+
** WEB INTERFACE **
Maybe a web interface similar at the massmail Archive, with 2 options for customer and CDR
so we should be able to make a selection of the USER and move them to the archive table
same for the CDR cc_call
#### EXPORT RATECARD
********************************************************************
Add all field on the export csv
#### TODO : function do_field
********************************************************************
function do_field($sql,$fld,$dbfld){
This function is defined in many places, need to create in misc.php
and remove it from other page where it s used (mainly in report section)
#### TODO : Detach Selling ratecard from Buying ratecard - DEPRECIATED
********************************************************************
- you need to update the selling prices multiple times
- you cannot really remove the sorter matching prefixes as you do right now, since one provider can have more granularity than other
#### MASS MAIL FEATURE
********************************************************************
option to let send an email to all the a2billing user
- check how is it done on phpBB
if we have several thousand of mail to send this can be an issue with normal php scripts
maybe a daemon is needed
* We should be able to define the search Criteria as in View Card in order to preselect
only some customer to which u want to run the massmail
#### BUG : REMOVING A CALLPLAN
********************************************************************
When removing a CallPlan, the card assigned are removed as well...
#### TRUNK CHANGE : UPDATE DAEMON TO USE THE DB CONF
********************************************************************
read conf from the DB
my $manager_host = $cfg->val('global', 'manager_host');
my $manager_username = $cfg->val('global', 'manager_username');
my $manager_secret = $cfg->val('global', 'manager_secret');
#### TODO : CRITERIA CALLPLAN
********************************************************************
I added Callplan on CDR report, see revision 303, we need to add the same on the 3 pages :
(Section Call Report)
# Calls Compare
# Monthly Traffic
# Daily Load
If graph we need to pass the parameter there too.
#### TODO : CRITERIA RATECARD ID
********************************************************************
Same as for the CallPlan but now for the ratecard ID, normally already same in CDR :
(Section Call Report)
# CDR report
# Calls Compare
# Monthly Traffic
# Daily Load
If graph we need to pass the parameter there too.
#### TODO : MOVE CAPTCHA Directory to signup directory
********************************************************************
lib/captcha
due to htaccess in lib/ it s an issue on most installation, as the pictures is not accessable
so move A2Billing_UI/lib/captcha
to A2Billing_UI/signup/captcha
#### TODO : BATCH UPDATE FOR TAG ; ROUNDING CALLTIME ; ROUNDING THRESHOLD ; ADDITIONAL BLOCK CHARGE ; ADDITIONAL BLOCK CHARGE TIME
********************************************************************
Batch update for
TAG ; ROUNDING CALLTIME ; ROUNDING THRESHOLD ; ADDITIONAL BLOCK CHARGE ; ADDITIONAL BLOCK CHARGE TIME
#### IMPORT : ROUNDING CALLTIME ; ROUNDING THRESHOLD ; ADDITIONAL BLOCK CHARGE ; ADDITIONAL BLOCK CHARGE TIME
********************************************************************
Add ROUNDING CALLTIME ; ROUNDING THRESHOLD ; ADDITIONAL BLOCK CHARGE ; ADDITIONAL BLOCK CHARGE TIME
on the import ratecard tool
#### TODO : TAG IN RATECARD
********************************************************************
We need a tag field into the ratecard!
this allow us to tag and filter some rates from a ratecard.
For instance, if we want to tag all the proper line prefix, so that we can then
apply batch update only for them.
We can add a new field in cc_ratecard for this :
ALTER TABLE cc_ratecad ADD COLUMN tag CHAR(50);
- We should add a reseach by tag on "Browse Rates".
** ADD TAG IN THE IMPORT RATECARD **
#### ADDITIONAL CHARGES ON REALTIME BILLING
********************************************************************
1) Rouding calltime
We will need 2 new fields in the ratecard to define this,
- rounding_calltime will define the new calltime that will be assigned to this call, for instance 360 (6 minutes)
- rounding_threshold that will define the amount in seconds from which the rounding calltime will apply
for instance 300 (5 minutes)
** take note that if the call last 7 minutes if the rounding_calltime is less than the current
calltime we dont round down the calltime
Example :
I make a call of 5 minutes to Belgium, the rate is 0.1$ per minutes, I have normally to pay 0.5 for this call
now the ratecard will be configure with rounding_calltime = 360 - 6min
and rounding_threshold will be set to 240, so 4min, the rateengine will see that my current calltime (300) is upper than the defined rounding_threshold
and so it will round the call to the new calltime, rounding_calltime = 360
so my call will be rated to 0.6$ instead of 0.5
2) Additional Block charge
This is an additional charge that will be apply according to the duration of the call and
the amount of "time block" inside the the calltime.
We will need 2 new fields in the ratecard to define this,
- additional_block_charge that will define the charge amount, ie 0.50 cents
- additional_block_charge_time that will define the amount of seconds from which we have to apply this
new charge, we will count the amount of time this block of time can be contain inside
the calltime and apply the charge accordingly to this.
Example, additional_block_charge_time = 300 (5 minutes) if the call last 360 seconds, the
additional_block_charge_time is contains 1 time so we apply this charge once.
If the call last now 660 seconds (11 minutes), the additional_block_charge_time (5min) is contains
2 time so we will apply this charge 2 time too (2 time 0.50 cents)
* add real_sessiontime in cc_call
#### FEATURE : CUSTOMER SERVICES FRIENDLY
********************************************************************
1. Make the customer account number a link everywhere that it is displayed,
so that if you see a customer number, you click on it, and it takes you to the customer details screen.
2. Within the customer accounts screen, have a link to click to bring up to
the login screen A2BCustomer_UI - but without the requirement to fill again the user's name and password.
3. A notes field against the customer - simply a free text field.
4. A customer history, would include date stamped notes added by the
Customer services, and may even display an element of the automatic history already displayed on the system.
#### FIX : Web service - status log dont work, check Activation_Card
********************************************************************
Web service - status log dont work, check Activation_Card
#### FIX : ADODB cache dir
********************************************************************
Put the adodb cache in /tmp , too
#### CHECK : Check AGI use the Status
********************************************************************
in AGI Class.A2Billing, function authentication,
when we check card is valid or not, we still use cc_card.activated
we need to replace this by cc_card.status
#### TODO : GENERATE VOUCHER & GENERATE CARD
********************************************************************
In the generate option, the tag value is set to a random ID : 1181897201
this allow us to see exactly after the generation those that has been created!
If someone really use the tag feature to classify his voucher, this can be bit annoying!
we need to give the option to define the tag to a specific value or to use the random number.
We can add a new field in cc_card for this :
ALTER TABLE cc_card ADD COLUMN tag CHAR(50);
We should add a reseach by tag too on View card.
#### GENERAL : replace activated by status
********************************************************************
we need to review where we use activated and replace it by status everywhere in the code or we are duplicating the need on this field.
#### BILLING : ADD VIEW AND SEARCH ON TABLE cc_epayment_log
********************************************************************
ADD VIEW AND SEARCH ON TABLE cc_epayment_log
status -> 0 : New ; 1 : proceed ; 2 ; in process
#### CHECK BACKUP & RESTORE FEATURE
********************************************************************
user posted that is broken.
#### UPDATE CSS Menu : menu.css
********************************************************************
With some translation the text in the menu overpass the size of the cell.
changing has below the height change the design we need to wrap the text and make it
fit according to the amount of text.
#nav ul li span,#nav ul li a {
padding: 2px 18px 2px 20px;
font-size: 10px;
- height : 11px;
}
### DB CONFIG - SHOW WRONG
********************************************************************
CLICK ON ALL ->
SELECT config_title, config_key, config_value, config_description, group_title, ccc.id FROM cc_config ccc, cc_config_group ccg ORDER BY config_group_id ASC LIMIT 0,5000
should use
LEFT JOIN
#### FEATURE : ADD CSV EXPORT ON THE CDR REPORT
********************************************************************
Add CSV & XML Export on the cdr report
- look how it s done on the customer list
#### FEATURE : play rate
********************************************************************
a2billing.php|1: file:Class.A2Billing.php - line:763 - TIMEOUT::> 1016 : minutes=16 - seconds=56
AGI Tx >> 200 result=1
AGI Rx << SAY NUMBER 285 ""
-- Playing 'digits/2' (language 'en')
-- Playing 'digits/hundred' (language 'en')
-- Playing 'digits/80' (language 'en')
-- Playing 'digits/5' (language 'en')
AGI Tx >> 200 result=0
AGI Rx << STREAM FILE cents-per-minute ""
create a mode to choose if we play in cents or in unit
2 dollars and 85 cents per minutes
#### TODO : CUSTOMER UI
********************************************************************
A2BCustomer_UI/userinfo.php
suggest that the only Logo's (paypal, Moneybooker, Authorize.net) displayed on the customer interface
are the payment methods that are enabled.
patch for trunk and branches/1.3
#### A2Billing_UI/Public/index.php
********************************************************************
on the login page & signup, there is a log enable :
QUERY:INSERT INTO cc_system_log (iduser, loglevel, action, description, tablename, pagename, ipaddress, data) VALUES('1','1','Page Visit','User Visited the Page','','index.php','127.0.0.1','')
remove this for page where user is not login too
#### FEATURE - GMT SUPPORT
********************************************************************
- we need a parameter to define the server_GMT
- when creating a customer we need to have it as default on GMT+0
* for signup module it can be managed with a right definition in the sql
- CustomerUI : call-history.php on customer dont have any GMT support on it
#### FEATURE - DB CONFIGURATION
********************************************************************
- if the field is readonly : find a way maybe with css to change the backgroup color of the field like grey color
- comments when u edit : "Insert the Group Name", stuff like that when u edit -> this section is to provide a real information
- dropdown value : As we have many Variables like Card_Type which can have 2 Values like postpaid & Prepaid,
Our System will automatically show a Dropdown List to provide customer to select from it...
- we need a drop down for the group in list configuration
- remove the Text Area and will make it simple Paragraph.. i will add a new type in the Framework
we need to show the only Description,, it should not confuse the use that either it is something to enter in database as this is description for this whole record
- we want to define a concept of heritage for the AGI-Conf1, 2, 3
using a general one agi-conf-base and we will only redefine the changes in agi-conf1, 2, etc...
The web interface need to allow us to redefine only the parameter we want.
- Change the name of list config groups to List Global Config
We should get something like this at the end :
1. In Global config (list config groups), we should be able to click on each line, and only see the settings pertaining to that section.
2. When we click on a section, we can then edit, just as we can under list configuration, but you can only see the section you have clicked on.
4. Beneath "List Global Config" we need a button call Add AGI-CONF -
this simply creates a standard agi-conf and calls it agi-conf2 (or 3 or 4 depending on how many have been created)
We will see the parameter from AGI-Conf-Base and be able to redefine and save the changes
The new agi-conf-X can then be accessed via "List Global Config"
this will do a SELECT of the AGI-Conf-Base and show the parameter that has been created
5. Within each setting, where possible, the user should be restricted to valid values, e.g if the options are "yes" or "no" then there should be a dropdown that only allows "yes" or "no" and no other value is allowed.
#### BUG : choose language
********************************************************************
problem on calling card language selection. once select 1 or 2 or 3 in the language selection IVR, it dropped rightaway.
it was good on my original version.
#### move a2billing.conf in DB
********************************************************************
move a2billing.conf in DB
#### multi-langague on email template
********************************************************************
multiple email templates based on location signup
ie, if some one is from india, they will recieve their email in indian language
#### BUG []
********************************************************************
Line 382 in a2billing.php has:
if (substr($A2B->CallerID,0,1)=='0'){
$A2B ->dnid = $A2B ->destination =
$caller_areacode.substr($A2B->CallerID,1);
}else{
$A2B ->dnid = $A2B ->destination =
$caller_areacode.$A2B->CallerID;
}
$agi->verbose('line:'.__LINE__.' - '.'[destination:
- '.$A2B->destination.']');
[a2billing-cid-callback]
exten => _X.,1,DeadAGI(a2billing.php|1|cid-callback|34) ;last
parameter is the callback area code
exten => _X.,2,Hangup
As u see the last parameter is the area code and from instance :
if I am in Belgium and use a local DID for callback but my server are
in UK, the system will probably not know that it needs to call me back
over the prefix 32, that's why is needed.
So in this case my cell number 0473510969, a2b will be call me as 32473510969.
That s the meaning of the remaining zero and it makes sense to set a parameter
for the leading zero if you are
already in the local country.
********************************************************************
V1.3
********************************************************************
#### BUG : CallBack
********************************************************************
DIVIDE THE AMOUNT OF CREDIT BY 2 IN ORDER TO AVOID NEGATIVE BALANCE IF THE USER USE ALL HIS CREDIT
#### BUG : Customer UI
********************************************************************
from the user portal, i'm able to add more than 5 callerID eventhough i just set limit_callerid = 2. Is it a BUG or just i'm having this problem?
http://forum.asterisk2billing.org/viewtopic.php?t=2250
#### MISC
********************************************************************
- Change qualify to 7 chars :
db change mysql :
ALTER TABLE cc_iax_buddies CHANGE qualify qualify char(7);
ALTER TABLE cc_sip_buddies CHANGE qualify qualify char(7);
db change psql :
ALTER TABLE cc_iax_buddies ALTER COLUMN qualify TYPE char(7);
ALTER TABLE cc_sip_buddies ALTER COLUMN qualify TYPE char(7);
- Correction on alarm spelling
- Add export rates csv & xml
- BUG : wrong audio file prepaid-enter-pin-number.gsm
- BUG : peer sip iax qualify & nat & sip/iax info on Customer UI display
- UPDATE : scrollbar on textarea
- UPDATE : naming on batch update
- UPDATE : Help files
- UPDATE : remove paypal section from conf files
- UPDATE : Display ratecard 100% wide
- BUG : Reporting
#### NEW LOGO ON MAIN PAGE
********************************************************************
#### MOVE THIS IN CONF FILE
********************************************************************
and this the a2billing-callback-daemon:
####### ASTERISK MANAGER ######
my $manager_host = "localhost";
my $manager_username = "myasterisk";
my $manager_secret = "mycode";
use a2billing.conf
[global]
; MANAGER CONNECTION PARAMETERS
manager_host = localhost
manager_username = myasterisk
manager_secret = mycode
#### FILE USED ?
********************************************************************
trunk/A2BCustomer_UI/lib/epayment/includes/PP_header.php
trunk/A2Billing_UI/lib/epayment/includes/PP_header.php
To remove :
trunk/A2Billing_UI/signup/PP_footer.php
trunk/A2Billing_UI/signup/PP_header.php
#### BUG : IAX / SIP friends
********************************************************************
I have the BLANK PAGE when I click to generate the iax friend
it happens on the first user in the system
#### BUG : IE Customer UI
********************************************************************
the menu is very bad on Internet Explorer in client interface
you can view just half of the menu
#### CALLBACK : INTRO MESSAGE
********************************************************************
Play an intro message on CallBack
#### Building a logging / tracking system on the web interface
********************************************************************
Building a logging / tracking system on the web interface
#### FEATURE : IVR - OPTION NO VOICE
********************************************************************
Create an option on the AGI to remove Audio
; Play audio - this will disable all stream file but not the Get Data
; for wholesale ensure that the authentication works and than number_try = 1
play_audio = YES
#### REMOVE OLD PAYPAL
********************************************************************
A2Billing_UI/paypal
A2B_entity_paypal.php?atmenu=paypal&stitle=PaypalTransaction&form_action=list§ion=2
FG_var_paypal
#### SIGNUP : IF SIP/IAX Created reload asterik
********************************************************************
After the public signup , get Asterisk to do a reload, as when a new card is created,
asterisk is not reloaded, and therefore the SIP/IAX friend cannot register.
I added new parameter to handle this :
; Define if you want to reload Asterisk when a SIP / IAX Friend is created at signup time
reload_asterisk_if_sipiax_created = no
#### CHANGE : INVOICE ADD MORE INFO
********************************************************************
A2BCustomer_UI/A2B_entity_call_details.php
add : Calls by Destination ; Calls by Date ; TOTAL ; VAT
like we have in A2BCustomer_UI/A2B_entity_invoice_detail.php?section=4&invoice_type=1
#### CHANGE : PAYMENT MODULE
********************************************************************
We should have a single button but just saying that Pay Amount.. and then on the check_payment select payment gate way then fill the amount
This will be the right process otherwise we cannot remove this conflict
Userinfo => Just Pay Now Button..no amount
Checkout_payment => Select Payment gateway
Checkout_amount => Enter the amount ,,, Currecny will be shown to him
checkout_confirmation =>
$arr_purchase_amount = split(":", EPAYMENT_PURCHASE_AMOUNT);
if (!is_array($arr_purchase_amount)) $arr_purchase_amount[0]=10;
foreach($arr_purchase_amount as $value){
#### INVOICE FIX
********************************************************************
fix on A2Billing_UI/Public/invoices_customer.php -> false cardnumber
# Error page : Blank page with "No User found"
need design good error pages !!
Golden rule : never show a white page with an error message.
#### FIX : REFILL BASE CURRENCY
********************************************************************
A2BCustomer_UI/userinfo.php
# when we are changing the base currency -> on the userinfo it is shown to purchage 20 $
the amount to refill should be show in the base currency and the next page should refill accordingly
#### FIX : HIDE DIV ON "List Customer" & "Browse Rates"
********************************************************************
Jquery - HIDE DIV ON "List Customer" & "Browse Rates"
## USE CC_COUNTRY TO SELECT THE COUNTRY : ON SIGNUP & EDIT CUSTOMER
********************************************************************
We will use cc_country table to select the country on signup module and also when
we edit customer info. The value store in cc_card->country will be the cc_country->countrycode
#### BUG
********************************************************************
yes the authorize is always in USD as it s only for US peoples.
So the amount received by Authorize is in USD, we need configure it convert from
USD -> base currency before making the insert.
if the base currency is in EURO it wont work correctly now
#### PROMOTE : CALL-LABS
********************************************************************
Promote : call-labs on a2billing trunk
#### EPAYMENT : MULTI CURRENCY MANAGEMENT
********************************************************************
handle mc_currency with paypal & mb_currency with moneybookers
in order to secure the currency of the transactions
#### UPDATE : IMPORT MODULE
********************************************************************
When I import, I get a page which allows me to check the data is being
imported properly. There is no way to accept that import without selecting
the csv files again.
#### BUGS
********************************************************************
1# One more thing - if the SIP/IAX friend is created via "Create SIP Friend" button,
then the defaults are not filled in, such as the context.
2#
IAX and SIP friends are not created correctly when created from the customer signup page. My understanding is that the account number and CID should be the same as the account number and card alias - this is the ony way it seems to work, otherwise the call is rejected.
#### FEATURES : EDIT SOME CUSTOMER INFORMATION ON CUSTOMERUI
********************************************************************
A2BCustomer_UI/userinfo.php
add a button below "Country" -> "edit my personal informations"
we should be able to edit some of the data, not all, base on our framework.
Ensure that customer cannot edit an other cardid
#### CONSOLIDATE THE GETTEXT FILES
********************************************************************
Consolidate the gettext files for customer and admin interface
regenerate all PO & MO files
#### ADD referial ID : Admin & customer (conf)
********************************************************************
https://www.moneybookers.com/app/?rid=811621
https://www.paypal.com/es/mrb/pal=PGSJEXAEXKTBU
#### BUG
********************************************************************
http://forum.asterisk2billing.org/viewtopic.php?t=1927
#### FEATURE CUSTOMER UI : SIP/IAX INFO & partial edit
********************************************************************
What about link under account Info.
VoIP settings
o List SIP
o List IAX
Put the User name and password under each link from the appropriate table.
This could be developed in a later release to allow the customer to change some of the more advanced settings, unless of course you just re-use the "List IAX-Friend" code from the admin screens, which would be a very quick win.
User info Profile user can see any data for SIP registrations his device like sip-login an sip-password (locked to change)
#### E-PAYMENT MODULE
********************************************************************
Modified: trunk/A2BCustomer_UI/checkout_payment.php
# customers_id -> feed with the card ID
# http://locals.com/checkout_process.php?sess_id=8g34831kbhdimm790mt5heh0u5&transactionID=6
Secure that
# ADD a random number MDP
on $key = securitykey(EPAYMENT_TRANSACTION_KEY, $time_stamp."^".$transaction_no[0][0]."^".$amount."^".$_SESSION["card_id"]);
# Check security on MD5 HMAC
but we need a secret code on moneybooker side / paypal / etc---
// Calculate and return fingerprint
// Use when you need control on the HTML output
function CalculateFP ($loginid, $txnkey, $amount, $sequence, $tstamp, $currency = "") {
return ($this->hmac ($txnkey, $loginid . "^" . $sequence . "^" . $tstamp . "^" . $amount . "^" . $currency));
}
that will work only stored on provider side
#### FEATURES : CALLBACK APIs
********************************************************************
1# Queue a callback request from an API : HTTP / WSDL
- it will return the uniqueID generate for the callback request
an API could generate a callback http://apiurl/callback-exec.php?listparameter=values&uniqueid=324234
return an ID to identify the callback request
2# API to check the status of the callback : webservice
- check the status of a generated callback
So an API will return result of a callback http://apiurl/callback-status.php?id=123453
id is the ID returned by
reply : Pending ; Success ; Error, etc ...
#### WEB-CALLBACK
********************************************************************
if the 2 leg is not connected, we need to bill the 1st
#### SIGNUP SELECT TARIFFGROUP
********************************************************************
"
; ID Tariffgroup to use, check the ID in the tariffgroup list - WebUI
tariff = 1
"
-> need to be changed to ->
; ID CallPlan to sign the customers
; or define a list of ID to let himselect select the callplan
; check the ID in the callplan list - WebUI
callplan = 1, 2, 3
"
SO "IN CASE OF MULTIPLE CALLPLAN", a new Dropdown menu will appear on the signup form.
with the list of Callplan associate here to the list of ID
(name of the callplab will appear, not the number 1, 2, 3)
Security, ensure at the sign-up time that the value send by the form is include in
it to avoid the possibility from the customer to signup under an other tariffgroup
#### MoneyBooker bug
********************************************************************
http://myaccount.call-labs.com/checkout_process.php?sess_id=58u4ckvmu0e0eedn9k872v1od4
Fatal error: Call to undefined method moneybookers::get_CurrentCurrency() in /var/www/html/svn/trunk/A2BCustomer_UI/lib/epayment/classes/payment.php on line 168
#### BUG
********************************************************************
You have 1 dependent records.
You are going as well to remove all the SIP/IAX accounts attached to this card! Please comfirm that you really want to remove that SIP/IAX Accounts ?
#### check files
********************************************************************
A2BCustomer_UI/lib/epayment/includes/methods/*
define action url from conf file
A2BCustomer_UI/lib/epayment/methods/moneybookers.php
#### SHIFT LEFT : DEFINES.PHP
********************************************************************
SHIFT LEFT : DEFINES.PHP
#### FEATURE : NEW CALLBACK SYSTEM
********************************************************************
rebuild of the callback system, we are using a spool system in DB and a perl Daemon to initiate the callback.
it brings flexibility and a way to track the callback request, their status, etc...
So we have a spool system, all request are stored and handled by a perl daemon that will take care of dispatching
them through several asterisk server.
There is also an API also for this to generate the callback.
/api/api_spool_callback.php
this could be use by any third application/platform to generate callback request.
#### INVOICES
********************************************************************
View Invoices
# show cardnumber
# Status appears to be empty for the invoice I had previously why ?
# if I click on Sent the sent date is not update
# Enter the cardnumber: -> this is the Card ID
# Click on Details -> it will be good to see the Start date and the End Date there
# Details ->
the Charges is not converted at all if I have a charge of 100 in EUR and my base currency is in usd
it will show 100 usd the amount is not converted
there is function in Misc.php for this
# Details -> the amount dont fit with what I have on the invoice page !!
# Details -> keeping some options like in invoices.php
- RESULT : Minutes - Second
- EXPORT FORMAT : See Invoice in HTML or Export PDF
- CURRENCY : selection
# Details -> Status : Connected DisConnected
only show Status : [the appropiated image ] Connected or DisConnected
Create Invoices
# For card number: -> From card ID:
# When you create the invoice we need an option to choose if we send or not directly the mail
# INVOICE STATUS
UNPAID
SENT-UNPAID
SENT-PAID
PAID
# A2B_entity_create_invoice.php no footer
Invoice_Customer
# Menu dont use _ -> Invoice Customer
# Error page : Blank with "No User found"
Can we design good error pages !!
# if there is no calls and no charge, only the logo appear :
there is nothing telling u that the invoice is empty!!
# show the covert start date
# keeping some options like in invoices.php
- RESULT : Minutes - Second
- EXPORT FORMAT : See Invoice in HTML or Export PDF
- CURRENCY : selection
CUSTOMER
# A2BCustomer_UI/invoices_customer.php
- if there is no calls and no charge, only the logo appear :
there is nothing telling u that the invoice is empty!!
- show the covert start date
# List of invoices
customer should be able to see his own history of invoices with their status
Status should be different here, only pay or unpay
#### FEATURE : REVIEW NEW DID MANAGEMENT
********************************************************************
Reservation and release
* To check
######## CURRENCY MANAGEMENT IN CRONT SERVICE
********************************************************************
Currency management in cront service
#### VOUCHER
********************************************************************
if you want to refill you card with a voucher please dial...
and its not understandable
#### Review Audio
********************************************************************
Send mail to Vincent for Spanish recording
#### DID CRONT - currency cc_charge
********************************************************************
1# add currency
a2billing_bill_diduse.php
#### JQUERY SLIDE
********************************************************************
Menu with Jquery
#### NAMING
********************************************************************
REPLACE SIGNUP IN THE LEFT MENU -> MISC
replace also SIGNUP in ACL
TARIFFGROUP -> CALL PLAN
TARIFFGROUPNAME -> NAME
Change in edit card, signup & AGI
#### JQUERY SLIDE
********************************************************************
help.php
#### Misc : FORMAT
********************************************************************
To tidy up the box for filtering, can you either reduce the font size or use symbols only, e.g. > ; >= ; <=
#### Misc : INVOICE
********************************************************************
1#
http://trac.a2billing.net/cgi-bin/trac.cgi/changeset/981
we need to have all this way
2#
if the description is long, for instance put in the description "Extra Charges are to allow the billing of one-off or re-occurring monthly charges. These may be used as setup or service charges, etc...Charges will appear to the user with the description you attach. Each charge that you create for a user will decrement his account."
it doesnt looks pretty, the description column is very small
problem on :
A2B_entity_invoice_billedmail.php
A2B_entity_invoice_detail.php
...
3#
if you click on payment button when u have few payement
then u click on the "sort button" or to display [10] [50] [100] it fails or show up the menu!!!
4#
images on
<img src="<?php echo Images_Path;?>/asterisk01.jpg" align="middle">
I added a new parameter on a2billing.conf,
; filename of the image that will be display at the top of the invoice (if not defined no image will appear ; path to place the image templates/default/images/)
invoice_image = asterisk01.jpg
we will handle this that way
5#
A2B_entity_invoice_billedmail.php?section=2&id=8&cardid=12&action=sendinvoice&exporttype=html
some images dont exist
Public/templates/default/images/spacer.jpg
6#
A2B_entity_invoice_billedmail.php
this need to use mailtemplate
$email_from = "[email protected]";
$email_subject = "A2Billing Invoice";
$email_message = "Dear Customer<br><br>\n\n Attached is the Invoice.\n\n <br><br>Sincerely<br>\n\nAdministrator A2Billing";
7#
Refactoring this HUGE mess.
We have tons of pages to show up almost the same report
Find a centralized way to make it clean and compress
8#
A2B_entity_invoice_billedmail.php
we still have the understandable stuff at the end :
Status :
Connected Disconnected
do the same as : A2B_entity_invoice_detail.php
#### TO FIX
********************************************************************
to check the patch I made here :
http://trac.a2billing.net/cgi-bin/trac.cgi/changeset/955
and try to reproduce this all all the invoices pages
this compress and make the code cleaner.
do this work for all the files :
A2B_entity_invoice_billedmail.php
A2B_entity_invoice_detail.php
A2B_entity_invoice_list.php
A2B_entity_invoices.php
A2B_entity_invoices_unbilled.php
A2B_entity_invoice_unbilledmail.php
#### MISC
********************************************************************
* Customer -> Call Details : add criteria - Answered call
#### FORMAT
********************************************************************
Rates -> Browse Rates
Reduce the size of the fonts in the batch up section e.g. 1.) Trunk – looks ok in firefox, but everything falls off the end in IE7
#### ADD SCROLLBAR ON ALL POPUP
********************************************************************
scrollbars=1 in the window.open
Check Rev 977
#### WRITE DOCUMENTATION: API SHOW RATECARD ->
********************************************************************
WRITE FULL DOCUMENTATION FOR :
trunk/A2Billing_UI/api/display_ratecard.php
#### WRITE DOCUMENTATION: ALARM SYSTEM
********************************************************************
WRITE DOCUMENTATION: ALARM SYSTEM
#### FEATURE : NEW INVOICING SYSTEM
********************************************************************
you will see, I dont describe here
#### FEATURE : jump_voucher_if_min_credit
********************************************************************
When the user credit are below the minimum credit to call min_credit
we might have an option to decide if we jump directly to the voucher IVR menu instead of just disconecting
option in a2billing.conf
jump_voucher_if_min_credit = yes or no
#### MANAGE MULTI LENGHT CARD NUMBER
********************************************************************
New parameter :
[global]
; len_cardnumber is removed
; interval for the length of the cardnumber (number of digits),
; ie: 10-15 (cardnumber authorised 10, 11, 12, 13, 14, 15) ; 10,12,14 (cardnumber authorised 10, 12, 14)
interval_len_cardnumber = 10-15
We will support more than 1 lenght for the cardnumber.
Admin Web interface :
- Create customer :
Add a drop-down button in the top page (below the help) to select the lenght for the card creation
-> if the drop-down is selected the page will refresh with the new value for the card lenght
by default we will use the minimum value of interval_len_cardnumber
- Generate Customer :
Add a point 13) as a drop-down button, select the card lenght but no refresh needed here
- AGI
#### EXEC_SETLANGUAGE
********************************************************************
function exec_setlanguage($language='en')
{
return $this->exec('SetLanguage', $language);
}
#### UPDATE a2billing_invoice_cront
********************************************************************
* use the conf parameter : invoice_system -> invoiceday
* add cc_charge
* invoice_history
#### BUG CAPTCHA
********************************************************************
please have a look also at the captcha
if u use caps letters, it wont work, all the pics are shows with caps
#### HOURLY ALARM