How do you scale your telephony with your business? This is how Hosted Power did it.
<h3><img alt="sdf" height="939" src="/sites/default/files/inline-images/blog-telefonie-2.png" width="1435"></h3>
<h3><span><span><span><span lang="en-BE"><span><span>Our previous phone system: anything but user-friendly</span></span></span></span></span></span></h3>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span><span><span><span><span lang="en-BE"><span>Our previous system was <b>a simple Asterisk VOIP phone system.</b> How did it work? This system could only be configured through configuration files, which was not very convenient. When someone called, all phones rang at the same time. There was also no official VOIP client, and the <i>3rd party clients</i> that were available were anything but user-friendly. We could go on listing disadvantages for quite some time. It was time for a new solution.</span></span><span lang="en-BE"><span></span></span></span></span></span><span><span><span><span lang="en-BE"><span></span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<h3 class="editor-h3">Our requirements: correct call routing, ready for remote work and easy to configure</h3>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span>To understand our requirements, it is useful to know how Hosted Power's support team operates. Our team currently consists of six technical staff members, five <i>system engineers</i> and a team lead. Each week, every person is assigned a different role, which means that their responsibilities change from week to week. As a result, some roles are more involved in telephony than others. This already gives us an important requirement for our new phone system: when someone calls, we want to <b>disturb as few people as possible,</b> while ensuring that the call is never missed!</span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span>We also work <b>from home several days a week,</b> so a VOIP client for laptops and smartphones is essential.</span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span>Furthermore, to make optimal use of our telephony, it is important to <b>ensure that the calling customer is connected directly to the right person.</b> You can guide callers using keypad options. This is also important outside working hours, as there is always a technical person on call: in the event of major issues, customers can reach us until 10 p.m. The caller must therefore be connected to the person on call.</span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span>Above all, we wanted <b>a user-friendly environment</b> for configuring everything. This avoids the need for extensive technical knowledge to modify the phone system.</span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span></span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<h3 class="editor-h3">The solution: 3CX phone system with carefully designed flows</h3>
<p><span><span><span><span lang="en-BE"><span>Based on the requirements above, we approached several telephony integrators. After a thorough comparison, we chose a <b>3CX phone system.</b> After making our selection, we started implementing our technical requirements. <i>First things first</i>: all users can be configured in the system, an easy requirement to tackle.</span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<h4 class="editor-h4"><em><span><span><span><span lang="en-BE"><span><span>Different flows depending on the time of the call</span></span></span><b><span lang="en-BE"><span></span></span></b></span></span></span></em></h4>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span>We then started <b>configuring the desired flow.</b> First, we connect our main phone numbers, the general Belgian and Dutch numbers, to the phone system that customers call. Using <i>dispatching forwarding rules</i>, we created rules based on the time at which the customer calls. A call therefore follows a different flow depending on the time and is handled according to different rules:</span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<ol>
<li><span><span><span><span><span><span><span lang="en-BE">During office hours</span></span></span></span></span></span></span></li>
<li><span><span><span><span><span><span><span lang="en-BE">Outside office hours, when the person on call is still available</span></span></span></span></span></span></span></li>
<li><span><span><span><span><span><span><span lang="en-BE">Outside office hours, when the person on call is no longer available</span></span></span></span></span></span></span></li>
</ol>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span>Option 1 is triggered during office hours. The caller hears a voice prompt and can indicate whether the call is for technical support or sales-related questions. Depending on the caller's choice, a different flow is activated.</span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span>Option 2 proceeds to the <i>on call flow</i>: this is a <i>call queue</i> in which the person on call is configured. The customer hears that they are calling outside office hours, but should stay on the line if the matter is urgent. The caller is then <b>automatically forwarded to the person on call.</b></span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span>There are also situations in which the person on call cannot answer. For this, we defined <b>an <i>on-call escalation flow</i>, which is triggered if the person on call does not answer within 30 seconds.</b> This <i>call queue</i> contains other team members in an agreed order, who are then called. This helps us avoid missed calls.</span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span>Option 3 was the easiest to configure: the customer is informed that we are closed and has the option to leave a message. We <b>call that person back as soon as possible</b> the next day.</span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<h4 class="editor-h4"><span><span><span><i><span lang="en-BE"><span><span>Technical support via call queue with escalation flow</span></span></span></i><b><span lang="en-BE"><span></span></span></b></span></span></span></h4>
<p><span><span><span><span lang="en-BE"><span>If the caller chooses <b>technical support,</b> the call is directed to a call queue configured as a <i>hunting group</i>. This is a technical telephony term meaning that the phone system contacts the different people defined in the call queue in a preconfigured order. Each person's phone rings for 12 seconds before the next person in the queue is contacted.</span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span>If someone is set to <i>‘do not disturb’</i>, for example because they are in a meeting, the call goes directly to the next person. This ensures that not everyone is disturbed when someone calls. At the same time, if the first people in the queue cannot answer, the call still reaches other colleagues.</span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span>In exceptional cases, none of these people may be able to answer. For these situations, we have also configured an <i>escalation flow</i>, which is triggered if nobody answers within 60 seconds. This flow includes other colleagues as well, providing an additional safeguard against missed calls.</span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<h4 class="editor-h4"><span><span><span><i><span lang="en-BE"><span><span>Sales reachable via ring all group</span></span></span></i><b><span lang="en-BE"><span></span></span></b></span></span></span></h4>
<p><span><span><span><span lang="en-BE"><span>If a caller chooses to reach sales, the sales call queue is triggered. This is a <i>ring all group</i>, in which <b>all sales team members are contacted at the same time.</b> The principle is simple: whoever answers first is connected to the customer.</span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<h4 class="editor-h4"><span><span><span><i><span lang="en-BE"><span><span>Extra flexibility</span></span></span></i><b><span lang="en-BE"><span></span></span></b></span></span></span></h4>
<p><span><span><span><span lang="en-BE"><span>The phone system also enables us to respond flexibly to different events. Suppose a major outage occurs in the datacenter. We could quickly play a recording informing customers that we are aware of the outage. This would reduce the pressure on our support department, allowing them to focus more on the <i>task at hand.</i></span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<h3 class="editor-h3"><span><span><span><span lang="en-BE"><span><span>Next steps: more automated operations</span></span></span></span></span></span></h3>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span>Since the vast majority of our company consists of IT professionals, we are not particularly fond of manual tasks </span></span><span lang="en-BE"><span>😉</span></span><span lang="en-BE"><span>. That is why we want to automate a few more things. One of them is <b>automating the update of who is on call.</b> This changes every week, and we currently have to update it manually in the phone system every Monday.</span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span>We want to automate this through a single source defining who has which role and who is on call. We already have this source, namely the OpsGenie application. It is technically possible to add <b>custom-written code (C#) to 3CX using the <i>flow chart designer.</i></b> This allows us to call the OpsGenie REST API and dynamically configure the roles in the phone system. We are currently testing this extensively. Once it works perfectly, we will be happy to share the technical implementation in a future blog post!</span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span><span lang="en-BE"><span></span></span><span lang="en-BE"><span></span></span></span></span></span></p>
<p><span><span><span></span></span></span></p>