Hi Henning and list, here is a description of the configuration that Im trying to test with carrierroute:
I have 4 groups of customers calling to 6 different destinations. Each customerGroup has specific rules about the destinations that are allowed to call. For ex. CustomerGroup 1 can call to S-fix, S-mob, N-fix and DK-fix, but not to N-mob or DK-mob CustomerGroup 2 can call to N-fix, N-mob, S-fix and DK-fix, but not to S-mob or DK-mob CustomerGroup 3 can call to DK-fix, DK-mob, S-fix and N-fix, but not to S-mob or N-mob CustomerGroup 4 can call to all destinations.
So, in order to apply the different rules to each customerGroup, I could assign to each customerGroup a Carrier on the subscriber table, and each carrier would have its rules about where is allowed to call using scan_prefix on the carrierroute table.
But then I will need to have almost the same host information for every carrier, but with the exceptions mentioned above. My point is that it would be a lot of information that is repeated, is this really necessary?
It is anyway to avoid repeating all this rewrite_host and scan_prefix information? Because in this example is just 6 rewrite_hosts that Im calling again and again on the different carriers, but in my implementation it would be a lot more of Interconnect companies that I need to add. Also, the same scan_prefix, would be called again for each carrier.
As well, I see that I could put all hosts under 1 domain, but then what it is the point of having different domains?
Am I trying to do with carrierroute something that the module was not build for?
I would appreciate your advice about this implementation.
Configuration to test
host1(S-fix) Interconnect1(S)< Domain1 host2(S-mob)
host3(N-fix) CustomerGroup1 - Carrier1 - Interconnect2(N)< Domain2 ---- o ----
Host5(DK-fix) Interconnect3(DK)< Domain3 ---- o ---- ------------------------------------------------------------- Host1(S-fix) Interconnect1(S)< Domain1 ---- o ----
host3(N-fix) CustomerGroup2 - Carrier2 - Interconnect2(N)< Domain2 host4(N-mob)
Host5(DK-fix) Interconnect3(DK)< Domain3 ---- o ---- -------------------------------------------------------------
Host1(S-fix) Interconnect1(S)< Domain1 ---- o ----
host3(N-fix) CustomerGroup3 - Carrier3 - Interconnect2(N)< Domain2 ---- o ----
Host5(DK-fix) Interconnect3(DK)< Domain3 Host6(DK-mob) -------------------------------------------------------------
Host1(S-fix) Interconnect1(S)< Domain1 Host2(S-mob)
host3(N-fix) CustomerGroup4 - Carrier4 - Interconnect2(N)< Domain2 host4(N-mob)
Host5(DK-fix) Interconnect3(DK)< Domain3 Host6(S-mob) -------------------------------------------------------------
+----+---------+--------+-------------+-------+------+---------------+ | id | carrier | domain | scan_prefix | flags | prob | rewrite_host | +----+---------+--------+-------------+-------+------+---------------+ | 1 | 1 | 1 | 462 | 0 | 1 | host1.s-fix | | 2 | 1 | 1 | 465 | 0 | 1 | host2.s-mob | | 3 | 1 | 2 | 472 | 0 | 1 | host3.n-fix | | 4 | 1 | 2 | 473 | 0 | 1 | host3.n-fix | | 5 | 1 | 2 | 474 | 0 | 1 | host3.n-fix | | 6 | 1 | 3 | 452 | 0 | 1 | host5.dk-fix | | 7 | 1 | 3 | 453 | 0 | 1 | host5.dk-fix | | 8 | 1 | 3 | 454 | 0 | 1 | host5.dk-fix | | 9 | 2 | 1 | 462 | 0 | 1 | host1.s-fix | | 10 | 2 | 2 | 472 | 0 | 1 | host3.n-fix | | 11 | 2 | 2 | 475 | 0 | 1 | host4.n-mob | | 12 | 2 | 3 | 452 | 0 | 1 | host5.dk-fix | | 13 | 3 | 1 | 462 | 0 | 1 | host1.s-fix | +----+---------+--------+-------------+-------+------+---------------+
and so on...
Cheers,
Juan.-
On Monday 19 January 2009, Juan Asencio wrote:
Is it possible to choose different domains using the parameter "scan_prefix" on the "carrierroute" table?
For example: 1 have one carrier with two different domains pointing each one of them to a different host.
If the user makes a call to a number starting with 234 the call goes to domain 1 or if the user call to a number 567 the call goes to domain 2.
I have been trying with the example 1.45. Configuration example - Routing to user tree. But since I specify a domain on this part of the code:
# just an example domain $avp(s:domain)="start";
The call only goes through that domain "start" when it matches the "scan_prefix". If the "scan_prefix" doesn't match it would keep trying. But it doesn't try the other domain.
How can I achieve that, if is possible at all?
Hi Juan,
i'm not sure if i completely understand your question. You've one carrier with several domains, each of them pointing to different hosts.
carrier default, domains: 0, 1 0 -> host1 1 -> host2
'234' -> 1 -> host1, '567' -> 2 -> host2
This can be achieved with only one domain.
default: 0 0 '234' -> host1 0 '567' -> host2
Or do you've some more requirements that needs a second domain?
Cheers,
Henning