Routing of calls is important part of any system and ICTContact has powerful routing system as well as It process Call Detail record for rating purpose
ICTContact GUI help user to create and manage countries, destinations , rates and routes and provide interface to search/filter destination based on country
Following are two important functions of GUI.
When user select a country ICTContact use country dialing_code to fetch all matching prefixes from destination table.. When user select a region ICTContact use region id to fetch all matching countries and also trigger above mentioned action.
Show Country Name
In Rate and Route lists system shows destination name i.e Pakistan > Ufone (92333) the country name along with destination name are being fetched as following
System use destination prefix and look for matching dialing_code in country and fetch all countries, if more then one country match then it repeat the route, rate for each country while keeping the destination same.
Known Problem: whenever there is problem in route and rate it is due to missing dialing_code in related country. uniquely matching digits must exist as dialing_code in country table.
Following are steps ICTContact perform to find rate and routes
ICTContact look into destination table to match phone number prefix.
ICTContact look into route table for previously matched prefix (destination) and fetch all matching records with respective trunk / voip provider and matching service (voice, sms, fax or email ) .
ICTContact look into rate table for previously matched prefix (destination) and fetch all matching rates along with respective rate plan.
OCN Based Routing
ICTContact facilitates its users to implement LCR technique in Routing. LCR synonym of Least Cost Routing is a process to find the most inexpensive way to route phone calls. It is the process of analyzing and selecting most economical path of outbound and inbound communications traffic . LCR can be configured in ICTContact by adding the prefixes of available networks. When a number is dialed, ICTContact chooses the route which has the same prefix as number with most economical rates .
However , in case of number portability, LCR could not be implemented and in such case CNAME module provide solutions . CNAM query gets the information about that number through OCN, on the basis of that information route is selected.
NOTE: Call will be rejected if no destination found also call will be rejected if long prefix (more specific like 92333) found in destination table but there is no matching route or rate exist for said destination ( there need exact match like 92333 exist in both routing and rating tables and 9233 or 923 will not work) .
NOTE: To utilize the referencing features of DB engine we are using country_area table to save comma separated dialing_code field from country table