I have been trying to reproduce your issues on 1.4 without any success. - ratecard with DNID prefix = 44 - Callplan with this ratecard assigned to a customer - add a rate for UK dialprefix 44
Result : the call is outbounded correctly and rated with the correct rates defined.
The query to retrieve the rate is :
SELECT tariffgroupname, lcrtype, idtariffgroup, cc_tariffgroup_plan.idtariffplan, tariffname, destination, cc_ratecard.id, dialprefix, destination, buyrate, buyrateinitblock, buyrateincrement, rateinitial, initblock, billingblock, connectcharge, disconnectcharge, stepchargea, chargea, timechargea, billingblocka, stepchargeb, chargeb,timechargeb, billingblockb, stepchargec, chargec, timechargec, billingblockc,cc_tariffplan.id_trunk AS tp_id_trunk, tp_trunk.trunkprefix AS tp_trunk, tp_trunk.providertech AS tp_providertech,tp_trunk.providerip AS tp_providerip, tp_trunk.removeprefix AS tp_removeprefix,cc_ratecard.id_trunk AS rc_id_trunk, rt_trunk.trunkprefix AS rc_trunkprefix, rt_trunk.providertech AS rc_providertech,rt_trunk.providerip AS rc_providerip, rt_trunk.removeprefix AS rc_removeprefix, musiconhold, tp_trunk.failover_trunk AS tp_failover_trunk, rt_trunk.failover_trunk AS rt_failover_trunk,tp_trunk.addparameter AS tp_addparameter_trunk, rt_trunk.addparameter AS rt_addparameter_trunk, id_outbound_cidgroup, id_cc_package_offer,tp_trunk.status, rt_trunk.status, tp_trunk.inuse, rt_trunk.inuse, tp_trunk.maxuse, rt_trunk.maxuse,tp_trunk.if_max_use, rt_trunk.if_max_use,cc_ratecard.rounding_calltime AS rounding_calltime, cc_ratecard.rounding_threshold AS rounding_threshold,cc_ratecard.additional_block_charge AS additional_block_charge,cc_ratecard.additional_block_charge_time AS additional_block_charge_time, cc_ratecard.additional_grace AS additional_grace, cc_ratecard.minimal_cost AS minimal_cost,disconnectcharge_after,announce_time_correction
FROM cc_tariffgroup RIGHT JOIN cc_tariffgroup_plan ON cc_tariffgroup_plan.idtariffgroup=cc_tariffgroup.id INNER JOIN cc_tariffplan ON (cc_tariffplan.id=cc_tariffgroup_plan.idtariffplan ) LEFT JOIN cc_ratecard ON cc_ratecard.idtariffplan=cc_tariffplan.id LEFT JOIN cc_trunk AS rt_trunk ON cc_ratecard.id_trunk=rt_trunk.id_trunk LEFT JOIN cc_trunk AS tp_trunk ON cc_tariffplan.id_trunk=tp_trunk.id_trunk
WHERE cc_tariffgroup.id=211 AND ((dialprefix='4412121212' OR dialprefix='441212121' OR dialprefix='44121212' OR dialprefix='4412121' OR dialprefix='441212' OR dialprefix='44121' OR dialprefix='4412' OR dialprefix='441' OR dialprefix='44' OR dialprefix='4' OR dialprefix='defaultprefix') OR (dialprefix LIKE '&_%' ESCAPE '&' AND '4412121212' REGEXP REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(CONCAT('^', dialprefix, '$'), 'X', '[0-9]'), 'Z', '[1-9]'), 'N', '[2-9]'), '.', '.+'), '_', ''))) AND startingdate<= CURRENT_TIMESTAMP AND (expirationdate > CURRENT_TIMESTAMP OR expirationdate IS NULL) AND startdate<= CURRENT_TIMESTAMP AND (stopdate > CURRENT_TIMESTAMP OR stopdate IS NULL) AND (starttime <= 2243 AND endtime >=2243) AND idtariffgroup='211' AND ( dnidprefix=SUBSTRING('4412121212',1,length(dnidprefix)) OR (dnidprefix='all' AND 0 = 1)) AND ( calleridprefix=SUBSTRING('16198178474',1,length(calleridprefix)) OR (calleridprefix='all' AND 0 = 0)) ORDER BY LENGTH(dialprefix) DESC
and in my case the following result will be retrieve : Areski-test 0 211 1 MY RATECARD 44 7393 44 44 1.00000 0 0 2.00850 0 0 0.00000 0.00000 0.00000 0.00000 0 0 0.00000 0.00000 0 0 0 0 0 0 1 011 IAX2 areskiax 1 011 IAX2 areskiax -1 -1 -1 -1 1 1 0 0 -1 -1 0 0 0 0 0.00000 0 0 0.00000 0 1.000
Yours, /Areski
|