| 1 | | |
|---|
| 2 | | |
|---|
| 3 | | ******************************************************************** |
|---|
| 4 | | V1.3 |
|---|
| 5 | | ******************************************************************** |
|---|
| 6 | | |
|---|
| 7 | | |
|---|
| 8 | | #### BUG : CallBack |
|---|
| 9 | | ******************************************************************** |
|---|
| 10 | | DIVIDE THE AMOUNT OF CREDIT BY 2 IN ORDER TO AVOID NEGATIVE BALANCE IF THE USER USE ALL HIS CREDIT |
|---|
| 11 | | |
|---|
| 12 | | |
|---|
| 13 | | #### BUG : Customer UI |
|---|
| 14 | | ******************************************************************** |
|---|
| 15 | | 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? |
|---|
| 16 | | http://forum.asterisk2billing.org/viewtopic.php?t=2250 |
|---|
| 17 | | |
|---|
| 18 | | |
|---|
| 19 | | #### MISC |
|---|
| 20 | | ******************************************************************** |
|---|
| 21 | | - Change qualify to 7 chars : |
|---|
| 22 | | db change mysql : |
|---|
| 23 | | ALTER TABLE cc_iax_buddies CHANGE qualify qualify char(7); |
|---|
| 24 | | ALTER TABLE cc_sip_buddies CHANGE qualify qualify char(7); |
|---|
| 25 | | db change psql : |
|---|
| 26 | | ALTER TABLE cc_iax_buddies ALTER COLUMN qualify TYPE char(7); |
|---|
| 27 | | ALTER TABLE cc_sip_buddies ALTER COLUMN qualify TYPE char(7); |
|---|
| 28 | | |
|---|
| 29 | | - Correction on alarm spelling |
|---|
| 30 | | - Add export rates csv & xml |
|---|
| 31 | | - BUG : wrong audio file prepaid-enter-pin-number.gsm |
|---|
| 32 | | - BUG : peer sip iax qualify & nat & sip/iax info on Customer UI display |
|---|
| 33 | | - UPDATE : scrollbar on textarea |
|---|
| 34 | | - UPDATE : naming on batch update |
|---|
| 35 | | - UPDATE : Help files |
|---|
| 36 | | - UPDATE : remove paypal section from conf files |
|---|
| 37 | | - UPDATE : Display ratecard 100% wide |
|---|
| 38 | | - BUG : Reporting |
|---|
| 39 | | |
|---|
| 40 | | |
|---|
| 41 | | #### NEW LOGO ON MAIN PAGE |
|---|
| 42 | | ******************************************************************** |
|---|
| 43 | | |
|---|
| 44 | | |
|---|
| 45 | | #### MOVE THIS IN CONF FILE |
|---|
| 46 | | ******************************************************************** |
|---|
| 47 | | and this the a2billing-callback-daemon: |
|---|
| 48 | | |
|---|
| 49 | | ####### ASTERISK MANAGER ###### |
|---|
| 50 | | my $manager_host = "localhost"; |
|---|
| 51 | | my $manager_username = "myasterisk"; |
|---|
| 52 | | my $manager_secret = "mycode"; |
|---|
| 53 | | |
|---|
| 54 | | use a2billing.conf |
|---|
| 55 | | [global] |
|---|
| 56 | | ; MANAGER CONNECTION PARAMETERS |
|---|
| 57 | | manager_host = localhost |
|---|
| 58 | | manager_username = myasterisk |
|---|
| 59 | | manager_secret = mycode |
|---|
| 60 | | |
|---|
| 61 | | |
|---|
| 62 | | #### FILE USED ? |
|---|
| 63 | | ******************************************************************** |
|---|
| 64 | | trunk/A2BCustomer_UI/lib/epayment/includes/PP_header.php |
|---|
| 65 | | trunk/A2Billing_UI/lib/epayment/includes/PP_header.php |
|---|
| 66 | | |
|---|
| 67 | | To remove : |
|---|
| 68 | | trunk/A2Billing_UI/signup/PP_footer.php |
|---|
| 69 | | trunk/A2Billing_UI/signup/PP_header.php |
|---|
| 70 | | |
|---|
| 71 | | #### BUG : IAX / SIP friends |
|---|
| 72 | | ******************************************************************** |
|---|
| 73 | | I have the BLANK PAGE when I click to generate the iax friend |
|---|
| 74 | | it happens on the first user in the system |
|---|
| 75 | | |
|---|
| 76 | | |
|---|
| 77 | | #### BUG : IE Customer UI |
|---|
| 78 | | ******************************************************************** |
|---|
| 79 | | the menu is very bad on Internet Explorer in client interface |
|---|
| 80 | | you can view just half of the menu |
|---|
| 81 | | |
|---|
| 82 | | |
|---|
| 83 | | #### CALLBACK : INTRO MESSAGE |
|---|
| 84 | | ******************************************************************** |
|---|
| 85 | | Play an intro message on CallBack |
|---|
| 86 | | |
|---|
| 87 | | |
|---|
| 88 | | #### Building a logging / tracking system on the web interface |
|---|
| 89 | | ******************************************************************** |
|---|
| 90 | | Building a logging / tracking system on the web interface |
|---|
| 91 | | |
|---|
| 92 | | |
|---|
| 93 | | #### FEATURE : IVR - OPTION NO VOICE |
|---|
| 94 | | ******************************************************************** |
|---|
| 95 | | Create an option on the AGI to remove Audio |
|---|
| 96 | | |
|---|
| 97 | | ; Play audio - this will disable all stream file but not the Get Data |
|---|
| 98 | | ; for wholesale ensure that the authentication works and than number_try = 1 |
|---|
| 99 | | play_audio = YES |
|---|
| 100 | | |
|---|
| 101 | | |
|---|
| 102 | | #### REMOVE OLD PAYPAL |
|---|
| 103 | | ******************************************************************** |
|---|
| 104 | | A2Billing_UI/paypal |
|---|
| 105 | | A2B_entity_paypal.php?atmenu=paypal&stitle=PaypalTransaction&form_action=list§ion=2 |
|---|
| 106 | | FG_var_paypal |
|---|
| 107 | | |
|---|
| 108 | | |
|---|
| 109 | | #### SIGNUP : IF SIP/IAX Created reload asterik |
|---|
| 110 | | ******************************************************************** |
|---|
| 111 | | After the public signup , get Asterisk to do a reload, as when a new card is created, |
|---|
| 112 | | asterisk is not reloaded, and therefore the SIP/IAX friend cannot register. |
|---|
| 113 | | |
|---|
| 114 | | I added new parameter to handle this : |
|---|
| 115 | | ; Define if you want to reload Asterisk when a SIP / IAX Friend is created at signup time |
|---|
| 116 | | reload_asterisk_if_sipiax_created = no |
|---|
| 127 | | #### CHANGE : PAYMENT MODULE |
|---|
| 128 | | ******************************************************************** |
|---|
| 129 | | 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 |
|---|
| 130 | | This will be the right process otherwise we cannot remove this conflict |
|---|
| 131 | | Userinfo => Just Pay Now Button..no amount |
|---|
| 132 | | Checkout_payment => Select Payment gateway |
|---|
| 133 | | Checkout_amount => Enter the amount ,,, Currecny will be shown to him |
|---|
| 134 | | checkout_confirmation => |
|---|
| 135 | | |
|---|
| 136 | | $arr_purchase_amount = split(":", EPAYMENT_PURCHASE_AMOUNT); |
|---|
| 137 | | if (!is_array($arr_purchase_amount)) $arr_purchase_amount[0]=10; |
|---|
| 138 | | |
|---|
| 139 | | foreach($arr_purchase_amount as $value){ |
|---|
| 140 | | |
|---|
| 141 | | #### INVOICE FIX |
|---|
| 142 | | ******************************************************************** |
|---|
| 143 | | fix on A2Billing_UI/Public/invoices_customer.php -> false cardnumber |
|---|
| 144 | | # Error page : Blank page with "No User found" |
|---|
| 145 | | need design good error pages !! |
|---|
| 146 | | Golden rule : never show a white page with an error message. |
|---|
| 147 | | |
|---|
| 148 | | |
|---|
| 149 | | #### FIX : REFILL BASE CURRENCY |
|---|
| 150 | | ******************************************************************** |
|---|
| 151 | | A2BCustomer_UI/userinfo.php |
|---|
| 152 | | # when we are changing the base currency -> on the userinfo it is shown to purchage 20 $ |
|---|
| 153 | | the amount to refill should be show in the base currency and the next page should refill accordingly |
|---|
| 154 | | |
|---|
| 155 | | |
|---|
| 156 | | #### FIX : HIDE DIV ON "List Customer" & "Browse Rates" |
|---|
| 157 | | ******************************************************************** |
|---|
| 158 | | Jquery - HIDE DIV ON "List Customer" & "Browse Rates" |
|---|
| 159 | | |
|---|
| 160 | | ## USE CC_COUNTRY TO SELECT THE COUNTRY : ON SIGNUP & EDIT CUSTOMER |
|---|
| 161 | | ******************************************************************** |
|---|
| 162 | | We will use cc_country table to select the country on signup module and also when |
|---|
| 163 | | we edit customer info. The value store in cc_card->country will be the cc_country->countrycode |
|---|
| 164 | | |
|---|
| 165 | | #### BUG |
|---|
| 166 | | ******************************************************************** |
|---|
| 167 | | yes the authorize is always in USD as it s only for US peoples. |
|---|
| 168 | | So the amount received by Authorize is in USD, we need configure it convert from |
|---|
| 169 | | USD -> base currency before making the insert. |
|---|
| 170 | | if the base currency is in EURO it wont work correctly now |
|---|
| 171 | | |
|---|
| 172 | | #### PROMOTE : CALL-LABS |
|---|
| 173 | | ******************************************************************** |
|---|
| 174 | | Promote : call-labs on a2billing trunk |
|---|
| 175 | | |
|---|
| 176 | | |
|---|
| 177 | | #### EPAYMENT : MULTI CURRENCY MANAGEMENT |
|---|
| 178 | | ******************************************************************** |
|---|
| 179 | | handle mc_currency with paypal & mb_currency with moneybookers |
|---|
| 180 | | in order to secure the currency of the transactions |
|---|
| 181 | | |
|---|
| 182 | | #### UPDATE : IMPORT MODULE |
|---|
| 183 | | ******************************************************************** |
|---|
| 184 | | When I import, I get a page which allows me to check the data is being |
|---|
| 185 | | imported properly. There is no way to accept that import without selecting |
|---|
| 186 | | the csv files again. |
|---|
| 187 | | |
|---|
| 188 | | #### BUGS |
|---|
| 189 | | ******************************************************************** |
|---|
| 190 | | 1# One more thing - if the SIP/IAX friend is created via "Create SIP Friend" button, |
|---|
| 191 | | then the defaults are not filled in, such as the context. |
|---|
| 192 | | |
|---|
| 193 | | 2# |
|---|
| 194 | | 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. |
|---|
| 195 | | |
|---|
| 196 | | #### FEATURES : EDIT SOME CUSTOMER INFORMATION ON CUSTOMERUI |
|---|
| 197 | | ******************************************************************** |
|---|
| 198 | | A2BCustomer_UI/userinfo.php |
|---|
| 199 | | add a button below "Country" -> "edit my personal informations" |
|---|
| 200 | | we should be able to edit some of the data, not all, base on our framework. |
|---|
| 201 | | Ensure that customer cannot edit an other cardid |
|---|
| 202 | | |
|---|
| 203 | | #### CONSOLIDATE THE GETTEXT FILES |
|---|
| 204 | | ******************************************************************** |
|---|
| 205 | | Consolidate the gettext files for customer and admin interface |
|---|
| 206 | | regenerate all PO & MO files |
|---|
| 207 | | |
|---|
| 208 | | #### ADD referial ID : Admin & customer (conf) |
|---|
| 209 | | ******************************************************************** |
|---|
| 210 | | https://www.moneybookers.com/app/?rid=811621 |
|---|
| 211 | | https://www.paypal.com/es/mrb/pal=PGSJEXAEXKTBU |
|---|
| 212 | | |
|---|
| 213 | | |
|---|
| 214 | | #### BUG |
|---|
| 215 | | ******************************************************************** |
|---|
| 216 | | http://forum.asterisk2billing.org/viewtopic.php?t=1927 |
|---|
| 217 | | |
|---|
| 218 | | |
|---|
| 219 | | #### FEATURE CUSTOMER UI : SIP/IAX INFO & partial edit |
|---|
| 220 | | ******************************************************************** |
|---|
| 221 | | What about link under account Info. |
|---|
| 222 | | |
|---|
| 223 | | VoIP settings |
|---|
| 224 | | o List SIP |
|---|
| 225 | | o List IAX |
|---|
| 226 | | |
|---|
| 227 | | Put the User name and password under each link from the appropriate table. |
|---|
| 228 | | |
|---|
| 229 | | 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. |
|---|
| 230 | | |
|---|
| 231 | | |
|---|
| 232 | | User info Profile user can see any data for SIP registrations his device like sip-login an sip-password (locked to change) |
|---|
| 233 | | |
|---|
| 234 | | #### E-PAYMENT MODULE |
|---|
| 235 | | ******************************************************************** |
|---|
| 236 | | Modified: trunk/A2BCustomer_UI/checkout_payment.php |
|---|
| 237 | | |
|---|
| 238 | | # customers_id -> feed with the card ID |
|---|
| 239 | | |
|---|
| 240 | | # http://locals.com/checkout_process.php?sess_id=8g34831kbhdimm790mt5heh0u5&transactionID=6 |
|---|
| 241 | | Secure that |
|---|
| 242 | | |
|---|
| 243 | | # ADD a random number MDP |
|---|
| 244 | | on $key = securitykey(EPAYMENT_TRANSACTION_KEY, $time_stamp."^".$transaction_no[0][0]."^".$amount."^".$_SESSION["card_id"]); |
|---|
| 245 | | |
|---|
| 246 | | # Check security on MD5 HMAC |
|---|
| 247 | | but we need a secret code on moneybooker side / paypal / etc--- |
|---|
| 248 | | |
|---|
| 249 | | // Calculate and return fingerprint |
|---|
| 250 | | // Use when you need control on the HTML output |
|---|
| 251 | | function CalculateFP ($loginid, $txnkey, $amount, $sequence, $tstamp, $currency = "") { |
|---|
| 252 | | return ($this->hmac ($txnkey, $loginid . "^" . $sequence . "^" . $tstamp . "^" . $amount . "^" . $currency)); |
|---|
| 253 | | } |
|---|
| 254 | | that will work only stored on provider side |
|---|
| 255 | | |
|---|
| 256 | | |
|---|
| 257 | | #### FEATURES : CALLBACK APIs |
|---|
| 258 | | ******************************************************************** |
|---|
| 259 | | 1# Queue a callback request from an API : HTTP / WSDL |
|---|
| 260 | | - it will return the uniqueID generate for the callback request |
|---|
| 261 | | an API could generate a callback http://apiurl/callback-exec.php?listparameter=values&uniqueid=324234 |
|---|
| 262 | | return an ID to identify the callback request |
|---|
| 263 | | |
|---|
| 264 | | 2# API to check the status of the callback : webservice |
|---|
| 265 | | - check the status of a generated callback |
|---|
| 266 | | |
|---|
| 267 | | So an API will return result of a callback http://apiurl/callback-status.php?id=123453 |
|---|
| 268 | | id is the ID returned by |
|---|
| 269 | | reply : Pending ; Success ; Error, etc ... |
|---|
| 270 | | |
|---|
| 271 | | |
|---|
| 272 | | #### WEB-CALLBACK |
|---|
| 273 | | ******************************************************************** |
|---|
| 274 | | if the 2 leg is not connected, we need to bill the 1st |
|---|
| 275 | | |
|---|
| 276 | | |
|---|
| 277 | | #### SIGNUP SELECT TARIFFGROUP |
|---|
| 278 | | ******************************************************************** |
|---|
| 279 | | " |
|---|
| 280 | | ; ID Tariffgroup to use, check the ID in the tariffgroup list - WebUI |
|---|
| 281 | | tariff = 1 |
|---|
| 282 | | " |
|---|
| 283 | | -> need to be changed to -> |
|---|
| 284 | | |
|---|
| 285 | | ; ID CallPlan to sign the customers |
|---|
| 286 | | ; or define a list of ID to let himselect select the callplan |
|---|
| 287 | | ; check the ID in the callplan list - WebUI |
|---|
| 288 | | callplan = 1, 2, 3 |
|---|
| 289 | | " |
|---|
| 290 | | |
|---|
| 291 | | SO "IN CASE OF MULTIPLE CALLPLAN", a new Dropdown menu will appear on the signup form. |
|---|
| 292 | | with the list of Callplan associate here to the list of ID |
|---|
| 293 | | (name of the callplab will appear, not the number 1, 2, 3) |
|---|
| 294 | | |
|---|
| 295 | | Security, ensure at the sign-up time that the value send by the form is include in |
|---|
| 296 | | it to avoid the possibility from the customer to signup under an other tariffgroup |
|---|
| | 8 | * A2Billing 1.3.3 released |
|---|
| 306 | | #### BUG |
|---|
| 307 | | ******************************************************************** |
|---|
| 308 | | You have 1 dependent records. |
|---|
| 309 | | 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 ? |
|---|
| 310 | | |
|---|
| 311 | | |
|---|
| 312 | | #### check files |
|---|
| 313 | | ******************************************************************** |
|---|
| 314 | | A2BCustomer_UI/lib/epayment/includes/methods/* |
|---|
| 315 | | |
|---|
| 316 | | define action url from conf file |
|---|
| 317 | | A2BCustomer_UI/lib/epayment/methods/moneybookers.php |
|---|
| 318 | | |
|---|
| 319 | | |
|---|
| 320 | | #### SHIFT LEFT : DEFINES.PHP |
|---|
| 321 | | ******************************************************************** |
|---|
| 322 | | SHIFT LEFT : DEFINES.PHP |
|---|
| 323 | | |
|---|
| 324 | | |
|---|
| 325 | | #### FEATURE : NEW CALLBACK SYSTEM |
|---|
| 326 | | ******************************************************************** |
|---|
| 327 | | rebuild of the callback system, we are using a spool system in DB and a perl Daemon to initiate the callback. |
|---|
| 328 | | it brings flexibility and a way to track the callback request, their status, etc... |
|---|
| 329 | | So we have a spool system, all request are stored and handled by a perl daemon that will take care of dispatching |
|---|
| 330 | | them through several asterisk server. |
|---|
| 331 | | There is also an API also for this to generate the callback. |
|---|
| 332 | | /api/api_spool_callback.php |
|---|
| 333 | | this could be use by any third application/platform to generate callback request. |
|---|
| 334 | | |
|---|
| 335 | | #### INVOICES |
|---|
| 336 | | ******************************************************************** |
|---|
| 337 | | View Invoices |
|---|
| 338 | | # show cardnumber |
|---|
| 339 | | # Status appears to be empty for the invoice I had previously why ? |
|---|
| 340 | | # if I click on Sent the sent date is not update |
|---|
| 341 | | # Enter the cardnumber: -> this is the Card ID |
|---|
| 342 | | |
|---|
| 343 | | # Click on Details -> it will be good to see the Start date and the End Date there |
|---|
| 344 | | # Details -> |
|---|
| 345 | | the Charges is not converted at all if I have a charge of 100 in EUR and my base currency is in usd |
|---|
| 346 | | it will show 100 usd the amount is not converted |
|---|
| 347 | | there is function in Misc.php for this |
|---|
| 348 | | # Details -> the amount dont fit with what I have on the invoice page !! |
|---|
| 349 | | # Details -> keeping some options like in invoices.php |
|---|
| 350 | | - RESULT : Minutes - Second |
|---|
| 351 | | - EXPORT FORMAT : See Invoice in HTML or Export PDF |
|---|
| 352 | | - CURRENCY : selection |
|---|
| 353 | | # Details -> Status : Connected DisConnected |
|---|
| 354 | | only show Status : [the appropiated image ] Connected or DisConnected |
|---|
| 355 | | |
|---|
| 356 | | Create Invoices |
|---|
| 357 | | # For card number: -> From card ID: |
|---|
| 358 | | # When you create the invoice we need an option to choose if we send or not directly the mail |
|---|
| 359 | | # INVOICE STATUS |
|---|
| 360 | | UNPAID |
|---|
| 361 | | SENT-UNPAID |
|---|
| 362 | | SENT-PAID |
|---|
| 363 | | PAID |
|---|
| 364 | | |
|---|
| 365 | | # A2B_entity_create_invoice.php no footer |
|---|
| 366 | | |
|---|
| 367 | | |
|---|
| 368 | | Invoice_Customer |
|---|
| 369 | | # Menu dont use _ -> Invoice Customer |
|---|
| 370 | | |
|---|
| 371 | | # Error page : Blank with "No User found" |
|---|
| 372 | | Can we design good error pages !! |
|---|
| 373 | | |
|---|
| 374 | | # if there is no calls and no charge, only the logo appear : |
|---|
| 375 | | there is nothing telling u that the invoice is empty!! |
|---|
| 376 | | |
|---|
| 377 | | # show the covert start date |
|---|
| 378 | | |
|---|
| 379 | | # keeping some options like in invoices.php |
|---|
| 380 | | - RESULT : Minutes - Second |
|---|
| 381 | | - EXPORT FORMAT : See Invoice in HTML or Export PDF |
|---|
| 382 | | - CURRENCY : selection |
|---|
| 383 | | |
|---|
| 384 | | CUSTOMER |
|---|
| 385 | | # A2BCustomer_UI/invoices_customer.php |
|---|
| 386 | | - if there is no calls and no charge, only the logo appear : |
|---|
| 387 | | there is nothing telling u that the invoice is empty!! |
|---|
| 388 | | - show the covert start date |
|---|
| 389 | | # List of invoices |
|---|
| 390 | | customer should be able to see his own history of invoices with their status |
|---|
| 391 | | Status should be different here, only pay or unpay |
|---|
| 392 | | |
|---|
| 393 | | |
|---|
| 394 | | |
|---|
| 395 | | #### FEATURE : REVIEW NEW DID MANAGEMENT |
|---|
| 396 | | ******************************************************************** |
|---|
| 397 | | Reservation and release |
|---|
| 398 | | * To check |
|---|
| 399 | | |
|---|
| 400 | | ######## CURRENCY MANAGEMENT IN CRONT SERVICE |
|---|
| 401 | | ******************************************************************** |
|---|
| 402 | | Currency management in cront service |
|---|
| 403 | | |
|---|
| 404 | | |
|---|
| 405 | | #### VOUCHER |
|---|
| 406 | | ******************************************************************** |
|---|
| 407 | | if you want to refill you card with a voucher please dial... |
|---|
| 408 | | and its not understandable |
|---|
| 409 | | |
|---|
| 410 | | |
|---|
| 411 | | #### Review Audio |
|---|
| 412 | | ******************************************************************** |
|---|
| 413 | | Send mail to Vincent for Spanish recording |
|---|
| 414 | | |
|---|
| 415 | | #### DID CRONT - currency cc_charge |
|---|
| 416 | | ******************************************************************** |
|---|
| 417 | | 1# add currency |
|---|
| 418 | | a2billing_bill_diduse.php |
|---|
| 419 | | |
|---|
| 420 | | |
|---|
| 421 | | #### JQUERY SLIDE |
|---|
| 422 | | ******************************************************************** |
|---|
| 423 | | Menu with Jquery |
|---|
| 424 | | |
|---|
| 425 | | |
|---|
| 426 | | #### NAMING |
|---|
| 427 | | ******************************************************************** |
|---|
| 428 | | REPLACE SIGNUP IN THE LEFT MENU -> MISC |
|---|
| 429 | | replace also SIGNUP in ACL |
|---|
| 430 | | |
|---|
| 431 | | TARIFFGROUP -> CALL PLAN |
|---|
| 432 | | TARIFFGROUPNAME -> NAME |
|---|
| 433 | | Change in edit card, signup & AGI |
|---|
| 434 | | |
|---|
| 435 | | |
|---|
| 436 | | #### JQUERY SLIDE |
|---|
| 437 | | ******************************************************************** |
|---|
| 438 | | help.php |
|---|
| 439 | | |
|---|
| 440 | | |
|---|
| 441 | | #### Misc : FORMAT |
|---|
| 442 | | ******************************************************************** |
|---|
| 443 | | To tidy up the box for filtering, can you either reduce the font size or use symbols only, e.g. > ; >= ; <= |
|---|
| 444 | | |
|---|
| 445 | | |
|---|
| 446 | | #### Misc : INVOICE |
|---|
| 447 | | ******************************************************************** |
|---|
| 448 | | 1# |
|---|
| 449 | | http://trac.a2billing.net/cgi-bin/trac.cgi/changeset/981 |
|---|
| 450 | | we need to have all this way |
|---|
| 451 | | |
|---|
| 452 | | 2# |
|---|
| 453 | | 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." |
|---|
| 454 | | |
|---|
| 455 | | it doesnt looks pretty, the description column is very small |
|---|
| 456 | | |
|---|
| 457 | | problem on : |
|---|
| 458 | | A2B_entity_invoice_billedmail.php |
|---|
| 459 | | A2B_entity_invoice_detail.php |
|---|
| 460 | | ... |
|---|
| 461 | | |
|---|
| 462 | | 3# |
|---|
| 463 | | if you click on payment button when u have few payement |
|---|
| 464 | | then u click on the "sort button" or to display [10] [50] [100] it fails or show up the menu!!! |
|---|
| 465 | | |
|---|
| 466 | | |
|---|
| 467 | | 4# |
|---|
| 468 | | images on |
|---|
| 469 | | <img src="<?php echo Images_Path;?>/asterisk01.jpg" align="middle"> |
|---|
| 470 | | |
|---|
| 471 | | I added a new parameter on a2billing.conf, |
|---|
| 472 | | ; 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/) |
|---|
| 473 | | invoice_image = asterisk01.jpg |
|---|
| 474 | | |
|---|
| 475 | | we will handle this that way |
|---|
| 476 | | |
|---|
| 477 | | 5# |
|---|
| 478 | | A2B_entity_invoice_billedmail.php?section=2&id=8&cardid=12&action=sendinvoice&exporttype=html |
|---|
| 479 | | some images dont exist |
|---|
| 480 | | Public/templates/default/images/spacer.jpg |
|---|
| 481 | | |
|---|
| 482 | | 6# |
|---|
| 483 | | A2B_entity_invoice_billedmail.php |
|---|
| 484 | | this need to use mailtemplate |
|---|
| 485 | | $email_from = "admin@a2billing.org"; |
|---|
| 486 | | $email_subject = "A2Billing Invoice"; |
|---|
| 487 | | $email_message = "Dear Customer<br><br>\n\n Attached is the Invoice.\n\n <br><br>Sincerely<br>\n\nAdministrator A2Billing"; |
|---|
| 488 | | |
|---|
| 489 | | |
|---|
| 490 | | 7# |
|---|
| 491 | | Refactoring this HUGE mess. |
|---|
| 492 | | We have tons of pages to show up almost the same report |
|---|
| 493 | | Find a centralized way to make it clean and compress |
|---|
| 494 | | |
|---|
| 495 | | |
|---|
| 496 | | 8# |
|---|
| 497 | | A2B_entity_invoice_billedmail.php |
|---|
| 498 | | we still have the understandable stuff at the end : |
|---|
| 499 | | Status : |
|---|
| 500 | | Connected Disconnected |
|---|
| 501 | | |
|---|
| 502 | | do the same as : A2B_entity_invoice_detail.php |
|---|
| 503 | | |
|---|
| 504 | | |
|---|
| 505 | | #### TO FIX |
|---|
| 506 | | ******************************************************************** |
|---|
| 507 | | to check the patch I made here : |
|---|
| 508 | | http://trac.a2billing.net/cgi-bin/trac.cgi/changeset/955 |
|---|
| 509 | | |
|---|
| 510 | | and try to reproduce this all all the invoices pages |
|---|
| 511 | | this compress and make the code cleaner. |
|---|
| 512 | | |
|---|
| 513 | | do this work for all the files : |
|---|
| 514 | | A2B_entity_invoice_billedmail.php |
|---|
| 515 | | A2B_entity_invoice_detail.php |
|---|
| 516 | | A2B_entity_invoice_list.php |
|---|
| 517 | | A2B_entity_invoices.php |
|---|
| 518 | | A2B_entity_invoices_unbilled.php |
|---|
| 519 | | A2B_entity_invoice_unbilledmail.php |
|---|
| 520 | | |
|---|
| 521 | | #### MISC |
|---|
| 522 | | ******************************************************************** |
|---|
| 523 | | * Customer -> Call Details : add criteria - Answered call |
|---|
| 524 | | |
|---|
| 525 | | #### FORMAT |
|---|
| 526 | | ******************************************************************** |
|---|
| 527 | | Rates -> Browse Rates |
|---|
| 528 | | 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 |
|---|
| 529 | | |
|---|
| 530 | | |
|---|
| 531 | | #### ADD SCROLLBAR ON ALL POPUP |
|---|
| 532 | | ******************************************************************** |
|---|
| 533 | | scrollbars=1 in the window.open |
|---|
| 534 | | Check Rev 977 |
|---|
| 535 | | |
|---|
| 536 | | |
|---|
| 537 | | #### WRITE DOCUMENTATION: API SHOW RATECARD -> |
|---|
| 538 | | ******************************************************************** |
|---|
| 539 | | WRITE FULL DOCUMENTATION FOR : |
|---|
| 540 | | trunk/A2Billing_UI/api/display_ratecard.php |
|---|
| 541 | | |
|---|
| 542 | | |
|---|
| 543 | | |
|---|
| 544 | | #### WRITE DOCUMENTATION: ALARM SYSTEM |
|---|
| 545 | | ******************************************************************** |
|---|
| 546 | | WRITE DOCUMENTATION: ALARM SYSTEM |
|---|
| 547 | | |
|---|
| 548 | | |
|---|
| 549 | | #### FEATURE : NEW INVOICING SYSTEM |
|---|
| 550 | | ******************************************************************** |
|---|
| 551 | | you will see, I dont describe here |
|---|
| 552 | | |
|---|
| 553 | | |
|---|
| 554 | | #### FEATURE : jump_voucher_if_min_credit |
|---|
| 555 | | ******************************************************************** |
|---|
| 556 | | When the user credit are below the minimum credit to call min_credit |
|---|
| 557 | | we might have an option to decide if we jump directly to the voucher IVR menu instead of just disconecting |
|---|
| 558 | | |
|---|
| 559 | | option in a2billing.conf |
|---|
| 560 | | jump_voucher_if_min_credit = yes or no |
|---|
| 561 | | |
|---|
| 562 | | |
|---|
| 563 | | #### MANAGE MULTI LENGHT CARD NUMBER |
|---|
| 564 | | ******************************************************************** |
|---|
| 565 | | New parameter : |
|---|
| 566 | | [global] |
|---|
| 567 | | ; len_cardnumber is removed |
|---|
| 568 | | ; interval for the length of the cardnumber (number of digits), |
|---|
| 569 | | ; ie: 10-15 (cardnumber authorised 10, 11, 12, 13, 14, 15) ; 10,12,14 (cardnumber authorised 10, 12, 14) |
|---|
| 570 | | interval_len_cardnumber = 10-15 |
|---|
| 571 | | |
|---|
| 572 | | |
|---|
| 573 | | We will support more than 1 lenght for the cardnumber. |
|---|
| 574 | | Admin Web interface : |
|---|
| 575 | | - Create customer : |
|---|
| 576 | | Add a drop-down button in the top page (below the help) to select the lenght for the card creation |
|---|
| 577 | | -> if the drop-down is selected the page will refresh with the new value for the card lenght |
|---|
| 578 | | by default we will use the minimum value of interval_len_cardnumber |
|---|
| 579 | | - Generate Customer : |
|---|
| 580 | | Add a point 13) as a drop-down button, select the card lenght but no refresh needed here |
|---|
| 581 | | - AGI |
|---|
| 582 | | |
|---|
| 583 | | #### EXEC_SETLANGUAGE |
|---|
| 584 | | ******************************************************************** |
|---|
| 585 | | function exec_setlanguage($language='en') |
|---|
| 586 | | { |
|---|
| 587 | | return $this->exec('SetLanguage', $language); |
|---|
| 588 | | } |
|---|
| 589 | | |
|---|
| 590 | | |
|---|
| 591 | | #### UPDATE a2billing_invoice_cront |
|---|
| 592 | | ******************************************************************** |
|---|
| 593 | | * use the conf parameter : invoice_system -> invoiceday |
|---|
| 594 | | * add cc_charge |
|---|
| 595 | | * invoice_history |
|---|
| 596 | | |
|---|
| 597 | | |
|---|
| 598 | | #### BUG CAPTCHA |
|---|
| 599 | | ******************************************************************** |
|---|
| 600 | | please have a look also at the captcha |
|---|
| 601 | | if u use caps letters, it wont work, all the pics are shows with caps |
|---|
| 602 | | |
|---|
| 603 | | #### HOURLY ALARM |
|---|
| 604 | | ******************************************************************** |
|---|
| 605 | | add in the alarm system an hourly check |
|---|
| 606 | | |
|---|
| 607 | | |
|---|
| 608 | | #### bug CallerID |
|---|
| 609 | | ******************************************************************** |
|---|
| 610 | | CID not working when ANSWER_CALL=NO |
|---|
| 611 | | iv changed back to ANSER_CALL=YES , AND WORKS |
|---|
| 612 | | |
|---|
| 613 | | |
|---|
| 614 | | #### missing text put text in Gettext |
|---|
| 615 | | ******************************************************************** |
|---|
| 616 | | CC_phonelist_import_analyse.php |
|---|
| 617 | | CC_ratecard_import_analyse.php |
|---|
| 618 | | CC_card_import_analyse.php |
|---|
| 619 | | |
|---|
| 620 | | also some more are missing on those files (check the javascript): |
|---|
| 621 | | CC_card_import.php |
|---|
| 622 | | CC_phonelist_import.php |
|---|
| 623 | | CC_ratecard_import.php |
|---|
| 624 | | |
|---|
| 625 | | |
|---|
| 626 | | #### ADD INVOICE DAY |
|---|
| 627 | | ******************************************************************** |
|---|
| 628 | | |
|---|
| 629 | | |
|---|
| 630 | | #### SAVE PAYMENT OPTION |
|---|
| 631 | | ******************************************************************** |
|---|
| 632 | | when go on edit paypal/moneybooker and click on Update |
|---|
| 633 | | I dont get any confirmation that the option has been saved |
|---|
| 634 | | |
|---|
| 635 | | |
|---|
| 636 | | #### PAYMENT OPTION |
|---|
| 637 | | ******************************************************************** |
|---|
| 638 | | put some help on the top |
|---|
| 639 | | |
|---|
| 640 | | #### IMPORT RATECARD |
|---|
| 641 | | ******************************************************************** |
|---|
| 642 | | ADD option to define if we want to import the price in cents or in units |
|---|
| 643 | | |
|---|
| 644 | | |
|---|
| 645 | | #### BAD ERROR MESSAGE |
|---|
| 646 | | ******************************************************************** |
|---|
| 647 | | when u import a csv file and the size is bigger the 500 k for example u get the error file not found |
|---|
| 648 | | the error message its not defined correctly |
|---|
| 649 | | |
|---|
| 650 | | |
|---|
| 651 | | #### FEATURE |
|---|
| 652 | | ******************************************************************** |
|---|
| 653 | | REPORTING AND SUPPORT ALARMS : |
|---|
| 654 | | |
|---|
| 655 | | |
|---|
| 656 | | * ALOC (average length of call): Too low or too high. |
|---|
| 657 | | * ASR (answer seize ratio): Too low or too high. |
|---|
| 658 | | |
|---|
| 659 | | maybe if possible : |
|---|
| 660 | | * CIC (Consecutive Incomplete Calls): Too many. |
|---|
| 661 | | |
|---|
| 662 | | We already have ALOC under the name of ACD in the page "CDR REPORT", we just need a new column for ASR and |
|---|
| 663 | | rename ACD -> ALOC |
|---|
| 664 | | |
|---|
| 665 | | |
|---|
| 666 | | ASR = Answer Seizure Ratio |
|---|
| 667 | | Its calculated by taking the number of sucessfully answered calls and dividing by the total number of calls attempted (seizures). Since busy signals and other rejections by the called number count as call failures, the calculated ASR value can vary depending on user behaviour. |
|---|
| 668 | | |
|---|
| 669 | | |
|---|
| 670 | | For "Consecutive Incomplete Calls", we might find a way to display this I open to your suggestion. maybe a report as follow : |
|---|
| 671 | | Date ; total nb fails ; max of number fail calls succesively ; rate of fails (%) |
|---|
| 672 | | |
|---|
| 673 | | |
|---|
| 674 | | |
|---|
| 675 | | For the alarm let's build a new table and a new page in CRONT SERVICE. |
|---|
| 676 | | We need the user to be able to define different kind of alarm, for instance if I want |
|---|
| 677 | | to monitor a specific trunk and not all |
|---|
| 678 | | We can have in the table something like : |
|---|
| 679 | | - period (daily ; monday-sunday ; 01 - 31) |
|---|
| 680 | | - typealarm (asr, aloc, callfail) |
|---|
| 681 | | - trunk (all or the ID of the trunk) |
|---|
| 682 | | - etc... |
|---|
| 683 | | |
|---|
| 684 | | |
|---|
| 685 | | |
|---|
| 686 | | #### FEATURE : PACKAGES SYSTEM - FREE MINUTES |
|---|
| 687 | | ******************************************************************** |
|---|
| 688 | | Situation : |
|---|
| 689 | | We need to support a new relation call "FREE MINUTE" under kind of package according to the destination. |
|---|
| 690 | | We have an example : http://www.blueface.ie/ |
|---|
| 691 | | There is several kind of packages : |
|---|
| 692 | | - Unlimited UK/Ireland where they can call as much as they want to this destination and pay for the rest. |
|---|
| 693 | | - 300 minutes free over 20 destinations + unlimited on Uk for instance |
|---|
| 694 | | - 300 minutes free over 20 destinations |
|---|
| 695 | | - pay as you go, standard |
|---|
| 696 | | |
|---|
| 697 | | We have to add in A2Billing this relation... For the unlimited calls we already have the routes at 0 cost. |
|---|
| 698 | | now we might need to assign the X free minutes relation over YZ destinations. |
|---|
| 699 | | |
|---|
| 700 | | |
|---|
| 701 | | - 300 minutes free over 20 destinations + unlimited on Uk for instance |
|---|
| 702 | | the relation unlimited is already defined in the rate-engine through the route with cost=0 |
|---|
| 703 | | |
|---|
| 704 | | we need to add new table : |
|---|
| 705 | | table cc_package to define the type package & min free. |
|---|
| 706 | | CREATE TABLE cc_package_offer ( |
|---|
| 707 | | id bigserial NOT NULL, |
|---|
| 708 | | creationdate timestamp without time zone DEFAULT now(), |
|---|
| 709 | | label text NOT NULL, |
|---|
| 710 | | packagetype int NOT NULL, |
|---|
| 711 | | billingtype int NOT NULL, |
|---|
| 712 | | startday int NOT NULL, |
|---|
| 713 | | freeminutes int NOT NULL |
|---|
| 714 | | ); |
|---|
| 715 | | -- packagetype : Free minute + Unlimited ; Free minute ; Unlimited ; Normal |
|---|
| 716 | | -- billingtype : Monthly ; Weekly |
|---|
| 717 | | -- startday : according to billingtype ; if monthly value 1-31 ; if Weekly value 1-7 (Monday to Sunday) |
|---|
| 718 | | I guess a field in cc_tariffgroup which will define the relation with cc_package_offer |
|---|
| 719 | | and a field in cc_ratecard to define if the rate will take advantage of the package offer (part of X min free) |
|---|
| 720 | | |
|---|
| 721 | | We have also to think that the offer will be per month (per week, etc..) so we will need to keep the number of free-minutes used by month (period) |
|---|
| 722 | | and by user/card, Customer have to have the offer for each time period (since the creation date). |
|---|
| 723 | | Table cc_card_package (id_card, id_package_offer, time_used(secondes) ) |
|---|
| 724 | | |
|---|
| 725 | | CREATE TABLE cc_card_package_offer ( |
|---|
| 726 | | id bigserial NOT NULL, |
|---|
| 727 | | id_cc_card bigint NOT NULL. |
|---|
| 728 | | id_cc_package_offer bigint NOT NULL, |
|---|
| 729 | | date_consumption timestamp without time zone DEFAULT now(), |
|---|
| 730 | | used_secondes bigint NOT NULL |
|---|
| 731 | | ); |
|---|
| 732 | | CREATE INDEX ind_cc_card_package_offer_id_card ON cc_card_package_offer USING btree (id_cc_card); |
|---|
| 733 | | CREATE INDEX ind_cc_card_package_offer_id_package_offer ON cc_card_package_offer USING btree (id_package_offer); |
|---|
| 734 | | CREATE INDEX ind_cc_card_package_offer_date_consumption ON cc_card_package_offer USING btree (date_consumption); |
|---|
| 735 | | |
|---|
| 736 | | ALTER TABLE cc_tariffgroup ADD COLUMN id_cc_package_offer BIGINT NOT NULL DEFAULT 0; |
|---|
| 737 | | ALTER TABLE cc_ratecard ADD COLUMN freeminute_package_offer INT NOT NULL DEFAULT 0; |
|---|
| 738 | | |
|---|
| 739 | | |
|---|
| 740 | | Other Billing difficulty : |
|---|
| 741 | | When we reach the limite, we will have part of the call inside the offer (so not billed) and the rest of the minutes should be billed... |
|---|
| 742 | | |
|---|
| 743 | | |
|---|
| 744 | | CREATE TABLE cc_subscription_fee ( |
|---|
| 745 | | id BIGSERIAL NOT NULL, |
|---|
| 746 | | label TEXT NOT NULL, |
|---|
| 747 | | fee NUMERIC(12,4) NOT NULL, |
|---|
| 748 | | currency CHARACTER VARYING(3) DEFAULT 'USD'::character varying, |
|---|
| 749 | | status INTEGER NOT NULL DEFAULT 0, |
|---|
| 750 | | numberofrun INTEGER NOT NULL DEFAULT 0, |
|---|
| 751 | | datecreate timestamp(0) without time zone DEFAULT now(), |
|---|
| 752 | | datelastrun timestamp(0) without time zone DEFAULT now(), |
|---|
| 753 | | emailreport TEXT, |
|---|
| 754 | | totalcredit DOUBLE PRECISION NOT NULL DEFAULT 0, |
|---|
| 755 | | totalcardperform INTEGER NOT NULL DEFAULT 0 |
|---|
| 756 | | ); |
|---|
| 757 | | ALTER TABLE ONLY cc_subscription_fee |
|---|
| 758 | | ADD CONSTRAINT cc_subscription_fee_pkey PRIMARY KEY (id); |
|---|
| 759 | | |
|---|
| 760 | | |
|---|
| 761 | | ALTER TABLE cc_charge ADD COLUMN currency CHARACTER VARYING(3) DEFAULT 'USD'::CHARACTER VARYING; |
|---|
| 762 | | ALTER TABLE cc_charge ADD COLUMN id_cc_subscription_fee BIGINT DEFAULT 0; |
|---|
| 763 | | |
|---|
| 764 | | |
|---|
| 765 | | CREATE INDEX ind_cc_charge_id_cc_card ON cc_charge USING btree (id_cc_card); |
|---|
| 766 | | CREATE INDEX ind_cc_charge_id_cc_subscription_fee ON cc_charge USING btree (id_cc_subscription_fee); |
|---|
| 767 | | CREATE INDEX ind_cc_charge_creationdate ON cc_charge USING btree (creationdate); |
|---|
| 768 | | |
|---|
| 769 | | |
|---|
| 770 | | -- INSTEAD USE CC_CHARGE |
|---|
| 771 | | -- CREATE TABLE cc_subscription_fee_card ( |
|---|
| 772 | | -- id BIGSERIAL NOT NULL, |
|---|
| 773 | | -- id_cc_card BIGINT NOT NULL, |
|---|
| 774 | | -- id_cc_subscription_fee BIGINT NOT NULL, |
|---|
| 775 | | -- datefee TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT now(), |
|---|
| 776 | | -- fee NUMERIC(12,4) NOT NULL, |
|---|
| 777 | | -- fee_converted NUMERIC(12,4) NOT NULL, |
|---|
| 778 | | -- currency CHARACTER VARYING(3) DEFAULT 'USD'::CHARACTER VARYING |
|---|
| 779 | | -- ); |
|---|
| 780 | | -- ALTER TABLE ONLY cc_subscription_fee_card |
|---|
| 781 | | -- ADD CONSTRAINT cc_subscription_fee_card_pkey PRIMARY KEY (id); |
|---|
| 782 | | |
|---|
| 783 | | -- CREATE INDEX ind_cc_subscription_fee_card_id_card ON cc_subscription_fee_card USING btree (id_card); |
|---|
| 784 | | -- CREATE INDEX ind_cc_subscription_fee_card_id_cc_subscription_fee ON cc_subscription_fee_card USING btree (id_cc_subscription_fee); |
|---|
| 785 | | -- CREATE INDEX ind_cc_subscription_fee_card_datefee ON cc_subscription_fee_card USING btree (datefee); |
|---|
| 786 | | |
|---|
| 787 | | |
|---|
| 788 | | |
|---|
| 789 | | --- MENU --- |
|---|
| 790 | | PACKAGE OFFER |
|---|
| 791 | | * List package Offer |
|---|
| 792 | | * Add package Offer |
|---|
| 793 | | * details by card |
|---|
| 794 | | |
|---|
| 795 | | SERVICE |
|---|
| 796 | | * List subscription service |
|---|
| 797 | | * Add subscription service |
|---|
| 798 | | |
|---|
| 799 | | |
|---|
| 800 | | |
|---|
| 801 | | |
|---|
| 802 | | ?? ADD CC_SUBSCRIPTION_FEE & CC_CHARGE CHANGES IN MYSQL SCHEMAS |
|---|
| 803 | | |
|---|
| 804 | | MISSING : |
|---|
| 805 | | - AGI |
|---|
| 806 | | http://trac.a2billing.net/cgi-bin/trac.cgi/changeset/789 |
|---|
| 807 | | |
|---|
| 808 | | IF PACKAGE IN THE TARIFFGROUP |
|---|
| 809 | | 0# add freetimetocall_package_offer in select ratecard |
|---|
| 810 | | |
|---|
| 811 | | 1# Get info from the package |
|---|
| 812 | | - billingtype ; startday ; freetimetocall |
|---|
| 813 | | 2# |
|---|
| 814 | | According to billingtype (monthly 0 ; weekly 1) |
|---|
| 815 | | if (monthly){ |
|---|
| 816 | | if (startday > last day of the month) startday = last day of the month; |
|---|
| 817 | | if (startday <= 0 ) startday = 1; |
|---|
| 818 | | dateclause >= year-month-startday |
|---|
| 819 | | }else{// weekly |
|---|
| 820 | | startday = startday % 7 (modulo) |
|---|
| 821 | | if (currentdayofweek < startday) currentdayofweek++7 |
|---|
| 822 | | diffday = currentdayofweek - startday (current lundi 1 - mercredi 3 = 5) |
|---|
| 823 | | dateclause >= |
|---|
| 824 | | # mysql -> SELECT DATE_SUB('2003-07-13 00:00:00', INTERVAL 14 DAY); |
|---|
| 825 | | # mysql -> SELECT DATE_SUB(NOW(), INTERVAL 14 DAY); |
|---|
| 826 | | # psql -> SELECT (date('2003-07-13 00:00:00') - interval '14 day'); |
|---|
| 827 |
|---|