root/trunk/CHANGELOG

Revision 1075, 90.9 kB (checked in by rach, 2 months ago)

review of changelog

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