| <configuration name="lcr.conf" description="LCR Configuration"> |
| <settings> |
| <param name="odbc-dsn" value="freeswitch-mysql:freeswitch:Fr33Sw1tch"/> |
| <!-- <param name="odbc-dsn" value="freeswitch-pgsql:freeswitch:Fr33Sw1tch"/> --> |
| </settings> |
| <profiles> |
| <profile name="default"> |
| <param name="id" value="0"/> |
| <param name="order_by" value="rate,quality,reliability"/> |
| </profile> |
| <profile name="qual_rel"> |
| <param name="id" value="1"/> |
| <param name="order_by" value="quality,reliability"/> |
| </profile> |
| <profile name="rel_qual"> |
| <param name="id" value="2"/> |
| <param name="order_by" value="reliability,quality"/> |
| </profile> |
| <!-- |
| Some samples of how to do custom SQL: |
| |
| ============================================================= |
| PostgreSQL with contrib prefix module which supports fast |
| prefix queries. Ideal option. |
| ============================================================= |
| <profile name="pg_prefix"> |
| <param name="custom_sql" value=" |
| SELECT l.digits AS lcr_digits, |
| c.carrier_name AS lcr_carrier_name, |
| l.${lcr_rate_field} 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 |
| 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 @> %q |
| AND CURRENT_TIMESTAMP BETWEEN date_start AND date_end |
| ORDER BY digits DESC, ${lcr_rate_field}, random(); |
| "/> |
| </profile> |
| |
| ============================================================= |
| PostgreSQL with contrib prefix module which supports fast |
| prefix queries. Ideal option. Alternate syntax which requies |
| a session but allows variable substitution. |
| ============================================================= |
| <profile name="pg_prefix2"> |
| <param name="custom_sql" value=" |
| SELECT l.digits AS lcr_digits, |
| c.carrier_name AS lcr_carrier_name, |
| l.${lcr_rate_field} 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 |
| 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 @> '${lcr_query_digits}' |
| AND CURRENT_TIMESTAMP BETWEEN date_start AND date_end |
| ORDER BY digits DESC, ${lcr_rate_field}, random(); |
| "/> |
| </profile> |
| |
| ============================================================= |
| Demonstrates use of computed inlist. |
| ============================================================= |
| <profile name="inlist"> |
| <param name="custom_sql" value=" |
| SELECT l.digits AS lcr_digits, |
| c.carrier_name AS lcr_carrier_name, |
| l.${lcr_rate_field} 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 |
| 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}, random(); |
| "/> |
| </profile> |
| --> |
| </profiles> |
| </configuration> |