[Freeswitch-users] mod_lcr problem
Mouncif Benniane
mouncifbb at gmail.com
Sat Jan 30 16:23:33 PST 2010
yes I use NANPA_STD profile instead of default cause I thought the custom
profile was causing issues, but looks like it's returning same results.
There is this line in thw wiki:
intra lata/state selection is done manually by setting the channel variables
*intrastate* or *intralata* to the value *true*.
do I have to set these ? if yes how?
Thanks
On Sat, Jan 30, 2010 at 6:59 PM, Rupa Schomaker <rupa at rupa.com> wrote:
> Stuff inline.
>
> On Sat, Jan 30, 2010 at 3:38 PM, Mouncif Benniane <mouncifbb at gmail.com>wrote:
>
>> NPANXX,"LATA","OCN","NTER","INTRA"
>> 201007,"224","7229","0.0059","0.0127"
>> 201040,"224","9206","0.0036","0.0036"
>>
>
> Looks like they give you the LATA and OCN values with the prefix. We
> (should) look that up ourselves.
>
>
>> FreeSWITCH Version 1.0.trunk (16540)
>>
>>
>> Also I noticed the *npa_nxx_ocn* table never get consulted.
>>
>> I also see this now when making a real call instead of running thorugh CLI
>>
>> EXECUTE sofia/external/6179472456 at 174.x.x.x lcr(16179470890 NANPA_STD)
>> 2010-01-30 16:28:56.685457 [DEBUG] mod_lcr.c:1230 *intrastate channel var
>> is [undef]*
>
>
> This is fine. it is a leftover from when you would tell mod_lcr via a
> channel var that it should do intrastate. I later had mod_lcr do the lookup
> itself, but we still honor the old var. There are no channel vars
> associated with the cli, so you wouldn't see that msg.
>
>
>>
>> 2010-01-30 16:28:56.685457 [DEBUG] mod_lcr.c:1233 Select routes based on
>> interstate rates
>> 2010-01-30 16:28:56.685457 [DEBUG] mod_lcr.c:1252 LCR Lookup on
>> 16179470893 using profile NANPA_STD
>> 2010-01-30 16:28:56.685457 [DEBUG] mod_lcr.c:786 intra routing [state:0
>> lata:0] so rate field is [rate]
>>
>> called number 6179470890 caller ID: 6179472456
>>
>> any ideas??
>>
>>
> Only thing that jumps out at me.
>
> The output from lcr_admin show profiles showed only the default one. On
> the dialplan you use the NANPA_STD profile. Can you check lcr_admin list
> and see if that profile is defined and if so if it says it is using the
> npanxx table?
>
>
>
>
>>
>>
>>
>>
>> On Sat, Jan 30, 2010 at 10:02 AM, Rupa Schomaker <rupa at rupa.com> wrote:
>>
>>> Something is still missing from the logs. Note the query of the npanxx
>>> table, the flags being set, and the rate field being chosen. Umm..
>>> oh, what version of fs are you running?
>>>
>>> Yes, the npa_nxx_ocn table needs to be loaded up as described in:
>>>
>>> http://wiki.freeswitch.org/wiki/Mod_cidlookup#Falling_back_to_.22City_State.22_in_the_absense_of_a_name
>>> (there is a link to that from mod_lcr's wiki page).
>>>
>>> An example from my own setup:
>>>
>>> 2010-01-30 08:55:10.633951 [DEBUG] mod_lcr.c:1384 data passed to lcr
>>> is [12148267711 default 12148267712]
>>> 2010-01-30 08:55:10.633951 [DEBUG] mod_lcr.c:1420 Set Caller ID to
>>> [12148267712]
>>> 2010-01-30 08:55:10.633951 [DEBUG] mod_lcr.c:759 SQL: SELECT 'state',
>>> count(DISTINCT state) FROM npa_nxx_company_ocn WHERE (npa=214 AND
>>> nxx=826) OR (npa=214 AND nxx=826) UNION SELECT 'lata', count(DISTINCT
>>> lata) FROM npa_nxx_company_ocn WHERE (npa=214 AND nxx=826) OR (npa=214
>>> AND nxx=826)
>>> 2010-01-30 08:55:10.633951 [DEBUG] mod_lcr.c:719 Type: lata, Count: 1
>>> 2010-01-30 08:55:10.633951 [DEBUG] mod_lcr.c:719 Type: state, Count: 1
>>> 2010-01-30 08:55:10.633951 [DEBUG] mod_lcr.c:809 intra routing
>>> [state:1 lata:1] so rate field is [intralata_rate]
>>> 2010-01-30 08:55:10.633951 [DEBUG] mod_lcr.c:825 we have an event
>>> 2010-01-30 08:55:10.633951 [DEBUG] mod_lcr.c:849 SQL: SELECT l.digits
>>> AS lcr_digits, c.carrier_name AS lcr_carrier_name,
>>> l.intralata_rate as lcr_rate_field, cg.prefix AS lcr_gw_prefix,
>>> cg.suffix AS lcr_gw_suffix, l.lead_strip AS lcr_lead_strip,
>>> l.trail_strip AS lcr_trail_strip, l.prefix AS lcr_prefix,
>>> l.suffix AS lcr_suffix, cg.codec AS lcr_codec, l.cid AS
>>> lcr_cid, 'carriers' AS lcr_limit_realm, c.carrier_name AS
>>> lcr_limit_id, 5 AS lcr_limit_max FROM lcr l JOIN carriers c ON
>>> l.carrier_id=c.id JOIN carrier_gateway cg ON c.id=cg.carrier_id
>>> WHERE c.enabled = '1' AND cg.enabled = '1' AND l.enabled = '1'
>>> AND digits_prefix @> '12148267711' AND CURRENT_TIMESTAMP BETWEEN
>>> date_start AND date_end ORDER BY digits DESC, intralata_rate,
>>> random();
>>> 2010-01-30 08:55:10.644013 [DEBUG] mod_lcr.c:314 Returning Dialstring
>>>
>>> [lcr_carrier=grnvoip_us,lcr_rate=0.00591]sofia/gateway/grnvoip/XXXX12148267711
>>> 2010-01-30 08:55:10.644013 [DEBUG] mod_lcr.c:638 Adding grnvoip_us to
>>> head of list
>>> 2010-01-30 08:55:10.644013 [DEBUG] mod_lcr.c:314 Returning Dialstring
>>> [lcr_carrier=teliax,lcr_rate=0.01000]sofia/gateway/teliax_atl/12148267711
>>> 2010-01-30 08:55:10.644013 [DEBUG] mod_lcr.c:660 Adding teliax to end of
>>> list
>>> 2010-01-30 08:55:10.644013 [DEBUG] mod_lcr.c:314 Returning Dialstring
>>> [lcr_carrier=teliax,lcr_rate=0.01000]sofia/gateway/teliax/12148267711
>>> 2010-01-30 08:55:10.644013 [DEBUG] mod_lcr.c:660 Adding teliax to end of
>>> list
>>> 2010-01-30 08:55:10.644013 [DEBUG] mod_lcr.c:314 Returning Dialstring
>>> [lcr_carrier=vitelity,lcr_rate=0.01440]sofia/gateway/vitelity/12148267711
>>> 2010-01-30 08:55:10.644013 [DEBUG] mod_lcr.c:660 Adding vitelity to end
>>> of list
>>> 2010-01-30 08:55:10.644013 [DEBUG] mod_lcr.c:314 Returning Dialstring
>>>
>>> [lcr_carrier=grnvoip_std,lcr_rate=0.01500]sofia/gateway/grnvoip/YYYY12148267711
>>> [...]
>>>
>>> On Fri, Jan 29, 2010 at 10:42 PM, Mouncif Benniane <mouncifbb at gmail.com>
>>> wrote:
>>> > Also the Provider has presented the rates in this format?
>>> > NPANXXLATA OCN INTER INTRA
>>> >
>>> >
>>> > On Fri, Jan 29, 2010 at 11:30 PM, Mouncif Benniane <
>>> mouncifbb at gmail.com>
>>> > wrote:
>>> >>
>>> >> Tried it and it's not giving me intralata instead I get interstate,
>>> does
>>> >> the npa_nxx_company_ocn table needs to be used in this case?, also do
>>> I have
>>> >> to have the rate field in lcr table?
>>> >>
>>> >> lcr 617642 default 6176421212
>>> >> | Digit Match | Carrier | Rate | Codec | CID Regexp | Dialstring
>>> >> |
>>> >> | 617642 | carrier1 | 0.00500 | | |
>>> >> [lcr_carrier=carrier1,lcr_rate=0.00500]sofia/gateway/carrier1/1617642
>>> |
>>> >>
>>> >> 2010-01-29 23:29:45.003307 [DEBUG] mod_lcr.c:1329 data passed to lcr
>>> is
>>> >> [617642 default 6176421212]
>>> >> 2010-01-29 23:29:45.003307 [DEBUG] mod_lcr.c:1365 Set Caller ID to
>>> >> [6176421212]
>>> >> 2010-01-29 23:29:45.003307 [DEBUG] mod_lcr.c:786 intra routing
>>> [state:0
>>> >> lata:0] so rate field is [rate]
>>> >> 2010-01-29 23:29:45.003307 [DEBUG] mod_lcr.c:802 we have an event
>>> >> 2010-01-29 23:29:45.003307 [DEBUG] mod_lcr.c:826 SQL: SELECT l.digits,
>>> >> c.carrier_name, l.rate, cg.prefix AS gw_prefix, cg.suffix AS
>>> gw_suffix,
>>> >> l.lead_strip, l.trail_strip, l.prefix, l.suffix , cg.codec , l.cid
>>> FROM lcr
>>> >> l JOIN carriers c ON l.carrier_id=c.id JOIN carrier_gateway cg ON
>>> >> c.id=cg.carrier_id WHERE c.enabled = '1' AND cg.enabled = '1' AND
>>> l.enabled
>>> >> = '1' AND digits IN (617642, 61764, 6176, 617, 61, 6) AND
>>> CURRENT_TIMESTAMP
>>> >> BETWEEN date_start AND date_end ORDER BY digits DESC, rate, rand();
>>> >> 2010-01-29 23:29:45.003307 [DEBUG] mod_lcr.c:307 Returning Dialstring
>>> >> [lcr_carrier=carrier1,lcr_rate=0.00500]sofia/gateway/carrier1/1617642
>>> >> 2010-01-29 23:29:45.003307 [DEBUG] mod_lcr.c:615 Adding carrier1 to
>>> head
>>> >> of list
>>> >> 2010-01-29 23:29:45.003307 [DEBUG] mod_lcr.c:307 Returning Dialstring
>>> >> [lcr_carrier=carrier1,lcr_rate=0.00500]sofia/gateway/carrier1/1617642
>>> >>
>>> >> Thank you Rupa!
>>> >>
>>> >> On Fri, Jan 29, 2010 at 7:37 PM, Rupa Schomaker <rupa at rupa.com>
>>> wrote:
>>> >>>
>>> >>> turn console logging up to debug and redo the lcr lookup. The sql
>>> >>> statements along with status info will show up. This should give
>>> >>> enough information to debug what is happening.
>>> >>>
>>> >>> I'm assuming the npanxx table is actually populated and not just
>>> >>> existing?
>>> >>>
>>> >>> When doing the lookup from the cli you have to tell lcr what CID to
>>> >>> use (remember, it is relative to the src/dest number). I'm pretty
>>> >>> sure you get something on the console log when you don't specify a
>>> CID
>>> >>> when using the commandline. Anyway:
>>> >>>
>>> >>> lcr 617642 default 6176421212
>>> >>>
>>> >>> should give you intralata.
>>> >>>
>>> >>> Note that the definition of intralata doesn't mean "local" for some
>>> >>> providers. Some providers define local to "same ratecenter" which is
>>> >>> even more restrictive.
>>> >>>
>>> >>> On Fri, Jan 29, 2010 at 4:43 PM, Mouncif Benniane <
>>> mouncifbb at gmail.com>
>>> >>> wrote:
>>> >>> > i can't make use of mod_lcr using Intra/Interstate rating, I am
>>> using
>>> >>> > svn: FreeSWITCH Version 1.0.trunk (16517)
>>> >>> >
>>> >>> > lcr mysql table structure:
>>> >>> > CREATE TABLE `lcr` (
>>> >>> > `id` INT(11) NOT NULL AUTO_INCREMENT,
>>> >>> > `digits` VARCHAR(15) DEFAULT NULL,
>>> >>> > `rate` FLOAT(11,5) DEFAULT NULL,
>>> >>> > `intrastate_rate` FLOAT(11,5) DEFAULT NULL,
>>> >>> > `intralata_rate` FLOAT(11,5) DEFAULT NULL,
>>> >>> > `carrier_id` INT(11) NOT NULL,
>>> >>> > `lead_strip` INT(11) NOT NULL,
>>> >>> > `trail_strip` INT(11) NOT NULL,
>>> >>> > `prefix` VARCHAR(16) NOT NULL,
>>> >>> > `suffix` VARCHAR(16) NOT NULL,
>>> >>> > `lcr_profile` VARCHAR(32) DEFAULT NULL,
>>> >>> > `date_start` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00',
>>> >>> > `date_end` DATETIME NOT NULL DEFAULT '2030-12-31 00:00:00',
>>> >>> > `quality` FLOAT(10,6) NOT NULL,
>>> >>> > `reliability` FLOAT(10,6) NOT NULL,
>>> >>> > `cid` VARCHAR(32) NOT NULL DEFAULT '',
>>> >>> > `enabled` TINYINT(1) NOT NULL DEFAULT '1',
>>> >>> > PRIMARY KEY (`id`),
>>> >>> > KEY `carrier_id` (`carrier_id`),
>>> >>> > KEY `digits` (`digits`),
>>> >>> > KEY `lcr_profile` (`lcr_profile`),
>>> >>> > KEY `digits_profile_cid_rate` USING BTREE (`digits`),
>>> >>> > CONSTRAINT `carrier_id` FOREIGN KEY (`carrier_id`) REFERENCES
>>> >>> > `carriers`
>>> >>> > (`id`) ON DELETE CASCADE ON UPDATE CASCADE
>>> >>> > ) ENGINE=INNODB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1
>>> >>> >
>>> >>> >
>>> >>> > lcr_admin show profiles
>>> >>> > Name: default
>>> >>> > custom sql: SELECT l.digits, c.carrier_name,
>>> l.${lcr_rate_field},
>>> >>> > cg.prefix AS gw_prefix, cg.suffix AS gw_suffix, l.lead_strip,
>>> >>> > l.trail_strip,
>>> >>> > l.prefix, l.suffix , cg.codec , l.cid FROM lcr l JOIN carriers c ON
>>> >>> > l.carrier_id=c.id JOIN carrier_gateway cg ON c.id=cg.carrier_id
>>> WHERE
>>> >>> > c.enabled = '1' AND cg.enabled = '1' AND l.enabled = '1' AND digits
>>> IN
>>> >>> > (${lcr_query_expanded_digits}) AND CURRENT_TIMESTAMP BETWEEN
>>> date_start
>>> >>> > AND
>>> >>> > date_end ORDER BY digits DESC, ${lcr_rate_field}, quality DESC,
>>> >>> > reliability DESC, rand();
>>> >>> > has %: false
>>> >>> > has vars: true
>>> >>> > has intrastate: true
>>> >>> > has intralata: true
>>> >>> > has npanxx: true
>>> >>> > Reorder rate: enabled
>>> >>> > Info in headers: disabled
>>> >>> > Quote IN() List: disabled
>>> >>> >
>>> >>> >
>>> >>> >
>>> >>> > lcr 617642 default returns rate from the rate field table and not
>>> >>> > intra/inter state fields rates.
>>> >>> >
>>> >>> > Any ideas? thanks!
>>> >>> >
>>> >>> >
>>> >>> >
>>> >>> >
>>> >>> > _______________________________________________
>>> >>> > FreeSWITCH-users mailing list
>>> >>> > FreeSWITCH-users at lists.freeswitch.org
>>> >>> > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>> >>> >
>>> >>> > UNSUBSCRIBE:
>>> http://lists.freeswitch.org/mailman/options/freeswitch-users
>>> >>> > http://www.freeswitch.org
>>> >>> >
>>> >>> >
>>> >>>
>>> >>>
>>> >>>
>>> >>> --
>>> >>> -Rupa
>>> >>>
>>> >>> _______________________________________________
>>> >>> FreeSWITCH-users mailing list
>>> >>> FreeSWITCH-users at lists.freeswitch.org
>>> >>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>> >>> UNSUBSCRIBE:
>>> http://lists.freeswitch.org/mailman/options/freeswitch-users
>>> >>> http://www.freeswitch.org
>>> >>
>>> >
>>> >
>>> > _______________________________________________
>>> > FreeSWITCH-users mailing list
>>> > FreeSWITCH-users at lists.freeswitch.org
>>> > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>> > UNSUBSCRIBE:
>>> http://lists.freeswitch.org/mailman/options/freeswitch-users
>>> > http://www.freeswitch.org
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> -Rupa
>>>
>>> _______________________________________________
>>> FreeSWITCH-users mailing list
>>> FreeSWITCH-users at lists.freeswitch.org
>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>> http://www.freeswitch.org
>>>
>>
>>
>> _______________________________________________
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>>
>>
>
>
> --
> -Rupa
>
> _______________________________________________
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20100130/a02f8d26/attachment-0002.html
More information about the FreeSWITCH-users
mailing list