Embodiments of the invention relate generally to telecommunications services, and more particularly, to methods, systems, and storage mediums for providing an optimized call routing service.
Telecommunications service providers offer a variety of different service plans and packages to their customers in an effort to stay competitive with, or gain an advantage over, its rivals. Customers are often inundated with promotional and fixed pricing information such as discounted rates that are based upon the time of day (e.g., after 5:00 p.m.), day of week (e.g., weekday versus weekend), among other criteria. These discounts may also vary dramatically from one service provider to the next. If given an opportunity and the necessary information (e.g., access to comparative pricing plans across available service providers), many cost-conscious service users might be better equipped to select a plan and a service provider that best meet their unique needs. Furthermore, these service users may also benefit from a service that adaptively allocates the routing of their calls among multiple vendors/carriers that offer the best rates.
What is needed, therefore, is a way to optimize the routing of calls placed by telecommunications service users that may be tailored to their existing, as well as future, service needs.
The above disadvantages and shortcomings are overcome or alleviated by methods, systems, and storage mediums for providing an optimized call routing service. Methods include retrieving vendor pricing data in response to a call received from a customer of a telecommunications service provider. The call seeks termination at a destination party number. Methods also include retrieving customer preference data for the customer, analyzing the vendor pricing data and the customer preference data in light of the destination party number, generating a call routing plan resulting from the analyzing, and executing the call in accordance with the call routing plan.
Systems for providing an optimized call routing service include a service control server storing vendor pricing data and customer preference data. In response to a call received from a customer of a telecommunications service provider, the service control server retrieves the vendor pricing data and the customer preference data. Systems also include an analysis engine executing on the service control server. The analysis engine analyzes the vendor pricing data and the customer preference data in light of a destination party number associated with the call, and generates a call routing plan resulting from the analysis. Systems further include at least one vendor system in communication with said service control server. The vendor system is identified in the call routing plan and executes the call in accordance with the call routing plan.
Other systems, methods, and/or computer program products according to embodiments will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional systems, methods, and/or computer program products be included within this description, be within the scope of the present invention, and be protected by the accompanying claims.
Referring now to the drawings wherein like elements are numbered alike in the several FIGURES:
According to exemplary embodiments, the call routing system provides customized routing of calls for service customers in order to meet their specific dial plan needs and reduces costs by routing calls via specific carriers, or the internal routes of a service provider, based upon pre-established criteria such as the time of day, day of week, time of year, and percentage allocations. Using these criteria, carrier information is evaluated in light of customer preferences and calling information, and an optimized call routing plan is generated therefrom. The calling plan specifies a particular vendor through which the call will be transmitted. While the call routing services are described herein with respect to business customers, it will be understood that these services may be offered to residential customers as well.
Turning now to
In exemplary embodiments, the telecommunications service provider, through host system 104, also provides the call routing services described herein. However, the telecommunications service provider may outsource a portion of these services to a third party system such as an application service provider (ASP) under an agreement.
The system shown in
Also as shown in the system of
As indicated above, a packet-switched network 108 is also shown in the system of
Also included in the system of
Host system 104 includes an exchange carrier switch 110, a service control server 112, a resource server 116, and a provisioning server 128. Exchange carrier switch 110 may comprise a high capacity switching system designed to assist the networks of interexchange carriers (e.g., host system 104). Exchange carrier switch 110 utilizes hardware and software capable of handling large capacity voice and data communications for long distance telecommunications customers. Hardware utilized by exchange carrier switch 110 may include the DMS 250™ by Nortel Networks Corporation of Brampton, Ontario. When a long-distance call is placed by an individual in a telecommunications environment, a local exchange carrier (not shown) associated with the individual queries a national database (not shown) to determine which carrier enterprise services that particular number. In the system of
Exchange carrier switch 110 also communicates with service control server 112 utilizing, e.g., Signaling Service No. 7 (SS7) protocol, which is described in “Telecommunications-Signaling System No. 7 (SS7)-General Information,” T1.110, ANSI, 1992. Service control server 112 refers to a centralized database server that provides services such as long distance number translation (e.g., sorting call handling and routing information for services executed by switching systems such as exchange carrier switch 110). Exchange carrier switch 110 accesses service control server 112 to perform look-ups of long distance numbers it receives from a customer device 102 over PSTN network 106. Based upon the results of the look-ups, service control server 112 returns routing instructions for the call to exchange carrier switch 110, which in turn, places the call. Exchange carrier switch 110 further communicates with resource server 116 via a primary rate interface (PRI) trunk 111 and with resource server 116 and provisioning server 128 via network 108.
Service control server 112 stores databases of information such as ‘automatic number identification’ (ANI) information in a data store 115, customer best routing logic in a data store 117, and provisioning data in a data store 119. ANI information refers to directory or equipment numbers of a calling party, such as customer device 102, that are automatically obtained using multi-frequency (MF) signaling or via an integrated services digital network (ISDN) primary rate interface (PRI).
Customer best routing (CBR) logic refers to an analysis engine and business rules that receive as input the terminating call number (i.e., destination party number) information, the calling party information (e.g., calling party number, account code, and preferences), and analyze these inputs against vendor information. As indicated above, vendor information may include specific rates offered to customers based upon criteria such as time of day, holidays, call volumes accrued by a calling party, the geographic location of the called number, among others. Rate information of vendors, such as vendors 130A and 130B, is gathered by host system 104 and stored in service control server 112. Based upon this analysis, a customer best routing plan for the call is generated as described further herein. Service control server 112 may execute a proprietary application or may comprise the Enhanced Control Server (eCS) by Lucent Technologies® of Murray Hill, N.J.
Provisioning order data is received from provisioning server 128 for activating a call routing service account and is stored in service control server 112. The type of data that may be included in a provisioning order received from provisioning server 128 is shown in provisioning record 300 of
Resource server 116 enables a service provider of host system 104 to provide enhanced customer services such as those provided by the call routing system. Resource server 116 includes text-to-speech capabilities and supports multimedia and multi-lingual requirements. Resource server 116 may execute a proprietary application or may comprise the Enhanced Media Resource Server (eMRS) by Lucent Technologies®. Resource server 116 executes an application and user interface 118 for implementing the call routing system services (also referred to as CBR application and user interface 118). For example, the user interface 118 may communicate with customers (e.g., prompts) using voice, text, and/or multi-media formats depending upon the type of calling device (e.g., 102) used by the customer.
Resource server 116 is in communication with a data repository 120, which stores databases of customer records 122. Customer records 122 store phone numbers for customers of the service provider of host system 104 which are used to both validate customers seeking to activate a call routing system account, as well as to associate each customer phone number with an existing call routing service account (e.g., via an account code).
Provisioning server 128 provisions the databases for intelligent network services such as the call routing system application and user interface 118 as well as voice files running on the intelligent network platform. Similar to the resource server 116, provisioning server 128 is also in communication with data repository 120. Resource server 116 handles the processing of call routing service accounts initiated by customers via telephone or over the Web. Provisioning server 128, on the other hand, handles the processing of call routing service accounts by a manual entry process initiated by an account manager or representative of the telecommunications service provider of host system 104 on behalf of a customer. This processing is described further in
Provisioning server 128 receives provisioning orders from resource server 116 and/or via manual input directly into provisioning server 128. Provisioning order data may be in text format. Provisioning server 128 reformats the data into a form usable by service control server 112. For example, the provisioning data may be compressed to facilitate the limited storage requirements of service control server 112. This reformatted provisioning data is transmitted to service control server 112 via network 108. Provisioning server 128 may execute a proprietary application or may execute the Enhanced Services Manager (eSM) by Lucent Technologies®.
Provisioning server 128 may also store records 129 of provisioning orders as a back-up security measure in the event of a system failure. A sample provisioning record is shown and described with reference to
Data repository 120 may be a separate physical storage device that is addressable by servers 116 and 128 as shown in the system of
Embodiments include initiating activation of the call routing system services from a business telephone (e.g., wireline phone linked to a toll-free number allocated by host system 104 specifically for these services) for security purposes. However, it will be understood that activation may occur from an alternate location or device if sufficient security measures are adopted to prevent unauthorized activation of call routing service accounts and other system abuses. Embodiments include activating the call routing system services using next generation network technologies such as voice over Internet protocol (VoIP), whereby a customer communicates with host system 104 via a computer-enhanced device such as a personal computer, web-enabled mobile telephone, and similar digital devices. Exemplary embodiments further include manual activation of a call routing system account by an account manager or representative of host system 104.
Activating a call routing service account that is initiated via a telephone over a PSTN 106 will now be described with reference to
Once the number has been identified, service control server 112 determines whether the calling party's number is enabled for call routing services at step 204 (e.g., whether the calling party's number/location supports call routing services). If not, an error message is returned to the calling party at step 206. If the number is confirmed to be call routing-enabled at step 204, the call is then routed via carrier switch 110 to resource server 116 over trunk 111 at step 208. Resource server 116 validates the calling party's identity by comparing the calling party's phone number (e.g., the telephone number from which the calling party placed the call and which is tied with the calling party's telecommunications service account) with customer records 122 in data repository 120 at step 210. This step validates whether the calling party is an existing customer and whether the customer has a valid customer account. If it is determined that the calling party is not a valid customer at step 212, an error message is transmitted to the calling party at step 214. This may be a voice recording that is activated by resource server 116 and presented to the calling party via carrier switch 110 and PSTN 106.
If it is confirmed that the calling party is a valid customer at step 212, resource server 116 presents a recorded greeting to the customer, along with options for directing the customer to activate the call routing service account at step 216. The prompts may include instructions for selecting user preferences as described further with reference to
The provisioning process is then initiated by the resource server 116 at step 222. The provisioning process includes generating a provisioning order by resource server 116 and transmitting the provisioning order to provisioning server 128. Provisioning server 128 sends the provisioning order to service control server 112 to provision the call routing service account and also to billing server 103 at step 224. Billing server 103 updates its customer billing records to reflect that this customer is a call routing service subscriber for billing purposes. Service control server 112 activates the call routing service account at step 226.
A customer may modify and/or cancel his/her call routing service by calling the number designated for the call routing system and following the prompts to either modify or cancel the service. The process steps for modifying and canceling service are similar to those described above with respect to activating the service.
As indicated above, host system 104 gathers vendor pricing information and stores it in service control server 112. A portion of the type of vendor information that may be gathered is provided below with respect to three vendors.
A customer may select preferences for calls made via the CBR application and user interface 118. Preference criteria may include a time of day, day of week, day of year, percent allocation, or other suitable elements. For example, a customer may prefer that all calls made Monday through Friday be routed via Vendor 1. This preference is established by the Day of Week option provided by prompts provided to the customer either by an automated voice system or web interface executing on resource server 116, or by manual entry by a representative of host system 104 via provisioning server 128. Another preference may be the allocation of call routing to vendors (e.g., 50% of all calls made go through Vendor 1, 50% through Vendor 2, and 0% through Vendor 3). Further, a customer may prefer to default the routing in accordance with best rates available from each of the vendors. For example, because Vendor 2 offers lower rates for calls between Boston and San Francisco on Saturday and Sunday after 5:00 p.m., the call routing system would select Vendor 2 for these calls. These preferences are stored in provisioning record 300 as shown in
Upon establishing a call routing service account, a provisioning record 300 is generated, which includes a phone number 302 for the calling party customer, the unique account code assigned to the customer, the date of service (i.e., when the account was activated), and customer preferences 304. Date fields 306 refer to the day of week/day of year preference, time fields 308 refer to the time of day preference, location field 310 refers destination of the terminating call, and percent allocation field 312 refers to the customer-preferred allocation of calls routed through specific vendors. A customer (e.g., a business entity) may further set preferences by department (via field 316), and/or employee/phone line/extension (via field 318) by selecting ‘by group’ field 314. For example, an employee of the business customer may be authorized to customize his/her own preferences as long as they do not conflict with the global preferences selected by the business customer. The employee would be assigned his/her own unique account code for this purpose.
As indicated above, embodiments include activating a call routing service account that is initiated via a packet-switched network and/or a manual entry process. These are described with reference to
If the phone number represents a valid customer at step 408, the call is routed to service control server 112 at step 412. Service control server 112 determines whether the phone number is CBR-enabled at step 414. If not, an error message is returned. Otherwise, the call is returned to resource server 116 and call routing service options are presented to the customer at step 418. These options include prompting the customer for selecting preferences for the call routing service account. Once the selections have been made, resource server 116 assigns a unique account code to the customer at step 420 and prompts the customer to confirm the selections at step 422. The provisioning process is initiated at step 424. Steps 424-428 are similar to steps 222-226 described with reference to
Embodiments include initiating a call routing service account via a manual process as described in steps 430, 432, and 418-428. A marketing representative or account manager for the service provider may be tasked with soliciting business customers either in person or by telephone to activate a call routing service account. The representative would only solicit those parties with valid customer accounts and which are known to be CBR-enabled. Thus, in exemplary embodiments, the steps recited in 402-416 would not be performed at the time of account activation but would occur in advance of activation. At step 430, the representative logs into the CBR application and user interface 118 and enters the customer telephone number at step 432. The CBR application and user interface presents options for selection at step 418. The representative would enter the customer's preferences obtained from the customer either via telephone, responses provided in a questionnaire or account form, or other means. The process continues to step 420 as described above.
Once an account has been activated, the call routing system may be implemented by a customer placing an outgoing call as described in reference to FIG. 5. At step 502, the call is received by carrier exchange switch 110 for the customer via a telephone (e.g., customer device 102). The call is transferred to service control server 112 for translation at step 504. Service control server 112 searches provisioning data in data store 119 for the calling party's number to see if a subscription for the call routing service exists for the customer at step 506. If no subscription is found, the call is routed using standard routing procedures at step 508 (e.g., regular rates apply). If, on the other hand, a subscription for the call routing service is found for the calling party, the service control server 112 retrieves customer ANI information in data store 115 for the calling party at step 510 and then routes the call and the customer ANI information to CBR logic in data store 117. The CBR logic is applied to the call and the vendor information at step 512.
The call is then routed to resource server 116, which prompts the calling party for his/her account code at step 514. The account code is compared with the customer records 122 in data repository 120 to determine whether the account code is valid at step 416. If not, resource server 116 returns an error message to the customer at step 518.
If valid, the call is processed according to the CBR logic in data store 117 at step 520. The processing results in an optimized routing plan, which is transmitted to exchange carrier exchange switch 110 at step 522. Using this routing plan, exchange carrier switch 110 routes the call to its destination at step 524. Billing server 103 is notified of this transaction and the customer's billing account is updated accordingly.
As can be seen from the above, the call routing system provides customized routing of calls for business customers in order to meet their specific dial plan needs and reduces costs by routing calls via specific carriers or internal routes based upon pre-established criteria such as the time of day, day of week, time of year, and percentage allocations.
As described above, the present invention can be embodied in the form of computer-implemented processes and apparatuses for practicing those processes. The present invention can also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into an executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
While the invention has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed for carrying out this invention, but that the invention will include all embodiments falling within the scope of the claims.