Caller ID Based Voice Call Routing and Charging
Many operators now charge calls differently based on caller ID. Here is how to set it up in practice.
We have already discussed the practice by some of the operators of applying different charges to calls from same clients based on Caller ID they send. The mechanisms were discussed in this blog post and later we also discussed some technical implementation details down to SIP protocol.
This time very practical guide. First, I would like to point to the recently written documentation page with step by step guide on how to set it up on SAARA system. The guide is quite straight forward, but here are some tips/hints for those who are interested in more details.
1. We achieve the Caller ID based separation of Routing and Rate tables by creating separate Caller ID groups. Within these groups we can specify which country/code will have specific routes and rates applied.
2. The Caller ID groups are then attached to Products. i.e. similarly as incoming tech prefix determines which route/rate to take, the Caller ID does the same.
3. While it might be considered non-standard practice, it is possible to have same code in more than one Caller ID group. In this case it would be recommended to not use both of these groups in the same product.
4. The default, no group setting works for all codes which are not in a group. So you do not need to create, for example group for EU/EEA countries, and group for Non-EU/EEA countries. Apply the "empty" group and it will take care of all codes outside of group.
5. On th SIP level, P-Asserted-ID headers are actually checked. Various prefix schemes are parsed and should work, for example like: