[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