Home > Articles > Networking > Voice/IP Communications

📄 Contents

  1. Softswitch Platform Performance
  2. Maximizing Platform Performance
Like this article? We recommend

Maximizing Platform Performance

Things can get complicated with protocols that allow multiple modes of operation and real-time fallback to older version procedures just to accommodate interoperability with legacy equipment. H.323 has been streamlined with fastStart and tunneling, but there are at least three ways that you can initiate signaling and thus experience different performance from the same softswitch platform. Therefore, it might be inevitable to require characterization of the modes of operation and interpolate (or, better yet, test each case separately) for performance expectation in between. Similarly, the use of proxies and firewalls in a topology and ensuing requirements for protocol support might dictate the choices that an engineer has to make regarding "preferred modes of operation" for a signaling protocol.

Firewalls can be bottlenecks in the signaling path if they are distributed in the topology and are controlled by external gateways, such as the softswitch itself. The reason is simply the need to signal to the firewall and thus add "arrows" in the call flows. Arrows mean more processing and reduced switch capacity. "Smart" firewall implementations, such as firewalls that are part of or an extension of the softswitch itself, might increase performance, but the impact of such a design on flexibility and scalability must be examined carefully. Firewalls protect both the signaling and media paths, which might not (and, more often than not, will not) be the same. In other words, you might need to make a trade-off between performance and network scalability before picking the final design approach.

Distributed softswitch platforms offer enhanced scalability, but they present other complexities that could prove prohibitive from a cost perspective. The most common way to achieve platform distribution is to develop a complete switch in a single CPU and use internal signaling to distribute call processing among the all processors in the platform. This is nice and easy to say, but you must now consider that there are additional "arrows" in the path of a call that are internal to the platform and that must be accounted for in the performance and capacity analysis. Other complexities, such as failover in cases of equipment or link malfunction, could impose internal signaling requirements that will affect system capacity as well. For example, DNS operations might involve internal "trips" in the switch to a resolution resource and thus would add "arrows" to the complete call flow. Also, audits for calls, equipment, and facilities in cases of gateway restarts can consume computing resources for extended periods of time.

Finally, signaling during an active call is often unnecessary from a protocol perspective, but other signaling is required to ensure proper resource utilization, additional resource requests (such as a request to open a video channel during a voice call), and statistics gathering that all must be accounted for when setting the platform capabilities expectation and billing and OSS signaling. The latter two both require computations local to the switch and signaling to the back office from all the switch elements servicing calls.

Setting the Right Expectation

A softswitch platform that utilizes a number of VoIP signaling protocols (as will inevitably be the case sometime in the future) is dealing with at least two major issues:

  1. Functional interoperability among the protocols, including portions of the protocols that might exist inside local or distributed firewalls

  2. Performance expectation when calls between dissimilar endpoints using different signaling protocols are attempted

In any telephony signaling call flow, there are "arrows" (signaling operations in the ping-pong diagrams) that can be pipelined and "arrows" that cannot. Let's consider a call involving two switches in the path of two endpoints. The total number of arrows to service a call between the originating endpoint and the first switch is 7, including the call termination exchanges. You will see a number of such call flows in the text, and you must not forget to add the termination signaling in the estimating performance. Let's also assume there are five signaling "arrows" between the two switches for this type of call. The terminating exchange signaling protocol uses 8 arrows to service the call, for a total of 20 arrows in the basic call flow. If each "arrow" is an atomic operation and requires 5 milliseconds to execute (including propagation delays between signaling entities), the total time to complete the call is 100 milliseconds. This would make the capacity of the switch 10 calls per second, thus hardly useful.

Luckily, a lot of signaling operations can be pipelined. First, when a signaling message has been dispatched to an entity, the switch is free to service other endpoints and calls. Therefore, we remove the propagation delays from the dispatch of the signaling message to the instant that a reply is received. This leaves the switch processing of the signaling messages as the factor for performance estimation. If the average execution time of the "arrows" in our example is 2.5 milliseconds, the total time dedicated to signaling for this call is 50 milliseconds, or double the capacity of 20 calls per second.

Second, within the same call flow it might be possible to dispatch multiple signaling messages simultaneously to the various entities (switches, endpoints) for the same call, even if they use the same signaling protocol. For example, consider a SIP proxy that receives an INVITE for an endpoint that it serves. It can propagate the INVITE toward the ultimate destination and reply with TRYING back to the originator simultaneously. In the case of a softswitch receiving an NTFY (MGCP Notify message) for an incoming call from a PSTN gateway, it could send CRCX (Create Connection) to the endpoint and the PSTN gateway simultaneously, and then assemble the ACKs from each signaling entity.

Pipelined signaling will increase platform performance and can be used for groups of nondependent serial signaling exchanges.

In the previous example, if three or four signaling messages between either endpoint and its local switch can be pipelined, this might reduce the average time for the call completion by as much as 10 milliseconds, thus bringing up the capacity of the switch to 25 calls per second. This "small" increase can actually translate to savings: If the target is to achieve 100 cps for the entire platform, then the requirement can be met with only four CPUs instead of five in a distributed design.

From the plethora of signaling call flows that you can draw for all types of calls, it might become necessary to plot the operating characteristics of the platform under best- and worst-case scenarios and, with proper weighting, establish the expected operating range of the switch in a real-life deployment. This means simply that the design can support anywhere between 60 and 100 cps at the two extremes; the expectation is that it will operate in the 70–80 cps range for voice calls mixed with a percentage of feature calls, such as call forwarding and call waiting, plus fax and modem calls.

A huge consideration for setting the performance expectation is the requirement to support emergency dialing (911). Simply speaking, in a well-designed platform, an emergency call must be accepted whether or not there is processing capacity in the switch. Therefore, the queuing scheme for calls in progress (not having reached midcall state yet) needs enough sophistication to allow bumping of a call if the switch is operating at or near capacity limits. In any case, the switch must always allow enough processing power to allow it to screen the incoming call before deciding on its own capability to service it to completion.

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020