Butler Use Case

Handing it a ticket and saying work this for me

Paste the complaint instead of composing a question: half-formed, in the customer’s own words, often with no timestamp and sometimes without a working number. Butler is not being asked a question here. It is being handed a ticket.

The Situation

The other use cases start with an engineer who has already decided what to look for in their session border controller logs. This one starts with a complaint arriving in front of you exactly as the end user wrote it, and no time to translate it into a query before the next one lands.

This is the mode teams settle into once they trust it: Butler sits in the support channel alongside the humans, and tickets arrive in front of it as they arrive in front of them. Nobody rewrites anything for its benefit.

The Answers

Pick a ticket, read the whole exchange

Both of these are real support threads, translated into English from the language they were worked in, with every identifier masked.

#supportChat
SU

Support 20:09
@VI - Butler We can’t call the number 0800 XXX 1424. It rings once and the call drops, but when we try from a mobile we can complete the call.
B

VI - Butler APP 20:09
Understood, Sir. I will investigate this specific behaviour: the call completes via mobile but fails when it passes through the ProSBC. To search for calls to that number I need a time range. Could you tell me the approximate date and time of the last failed attempt, or shall I search the last two or three hours?
SU

Support 20:12
@VI - Butler it just happened
B

VI - Butler APP 20:12
vitrace_find_sessions  number, 19:00 to 20:15vitrace_get_chain  session_uuid
I found 9 failed attempts in the last few hours, all from the same origin and all failing after a few seconds. The most recent was at 20:09:24, a few minutes ago. Let me expand that call to see the full flow and the error code.
B

VI - Butler APP 20:13
Diagnosis: 480 failure for 0800 XXX 1424

  • The call entered through NAP UPSTREAM_SOFTSWITCH
  • The SBC tried to route via CARRIER_B_LD
  • The response was 480 Temporarily Unavailable, the destination reporting temporary unavailability
The cause is not in your equipment. The 480 came from the carrier. Possible reasons: the toll-free number is blocked or restricted at the origin of the calls; a simultaneous-call limit at the destination has been reached; or configuration at the destination that rejects calls from certain origins.
Why it works from a mobile

  • The mobile leaves by another route, the mobile network, and does not pass through the same trunk. The destination does not reject mobile calls, only those arriving via your carrier.
Would you like me to search for more calls to confirm the pattern, or would you rather check the configuration of that route?

Start with the second message, because it is the one most tools would skip. Handed a narrative with no timestamp, Butler asked for a window instead of guessing at one, and “it just happened” was enough. From there it found nine attempts, named the trunk, and concluded that the fault sat outside the network. Then, unprompted, it accounted for the one clue the customer had volunteered: the mobile completes because it leaves by a different route. Nobody asked for that, and it is the part that turns a diagnosis into an answer you can send back.

#supportChat
SU

Support 19:10
@VI - Butler customer complaining about non-completion of the call today. B number: 5XX XXX 8626
B

VI - Butler APP 19:10
I found 24 calls to 5XX XXX 8626 today. All of them failed. I see two different types of failure, so let me pull the SIP ladder to understand it better.
B

VI - Butler APP 19:11
I found the problem. There are two distinct failure types in the calls to this number:
Type 1: 503 Service Unavailable, external

  • 203.0.113.20 to sbc-a
  • sbc-a responds 503 after authentication, indicating overload or unavailability at the destination
Type 2: 404 Not Found, internal

  • 198.51.100.2 to sbc-b
  • sbc-b responds 404 immediately. Cause: NO_ROUTE(203), no route configured for this destination
The 404 failures come from sbc-b: the number has no route. That is configuration. The 503 failures come from the external trunk, possibly unavailability at the destination carrier.
Would you like me to generate a detailed PDF report of one of these calls?

One complaint, and the first answer separates it into two root causes, one of them yours and one of them the carrier’s. An engineer working twenty-four failed calls by hand opens whichever one comes first and stops looking, which is how half a fault gets fixed and the tickets keep arriving. This thread then ran another seventy minutes, through which NAP carried them, both legs, and what became of the calls that never completed. The closing line is worth noticing too: nobody had mentioned reporting, and it offered the artefact anyway, because a shareable write-up was the obvious next thing to want.

Ask It This Way

The prompts, and where each one leads

Notice how little these look like queries. That is the point.

We can’t call 0800 XXX 1424. It rings once and the call drops, but from a mobile we can complete the call.
When you’d ask

A complaint in prose with no timestamp and no direction. Paste it verbatim, including whatever the customer volunteered.

What comes back

The call located from the narrative, the trunk named, fault assigned, and any clue in the complaint accounted for.

Then ask

it just happenedIs it still failing now?Write that up for the customer
Case 0912: calls not completing to 4XX XX5001. Customer reports that calls to this number stopped completing this morning. Origin 4XX XX4000.
When you’d ask

A real ticket body, pasted straight from your own system. Butler picks up context from the conversation around it, including colleagues’ observations posted before it was addressed.

What comes back

The matching attempts found and explained as a group, not one at a time.

Then ask

Analyse these three calls and explain what’s going onWhen did it actually start?
Customer complaining about non-completion of the call today. B number: 5XX XXX 8626
When you’d ask

The shortest useful ticket there is: a destination and today. Let Butler find out how many and why.

What comes back

Every failed attempt to that number, grouped by failure mode, with internal and external causes separated.

Then ask

Which NAP was it?And the ones that didn’t complete?Besides that carrier, did it go anywhere else?
The customer says the call from 4XX XX3959 to 4XX XX0100 around 08:06 UTC was refused. Can you confirm the reason?
When you’d ask

Confirmation rather than investigation. You already believe the customer, and you need something defensible to reply with.

What comes back

The refusal confirmed or contradicted, with the cause and the side that raised it.

Then ask

Put that in a report I can forwardSay it in the customer’s language
More, in the words the tickets actually arrive in

customer 4XX XX0701 is dialling 2XX XXX7890 and getting “could not complete the call”
detail the 404 and the 127
Here’s a complaint from our reseller. Three different end users, three different numbers, same morning. Are these one problem or three?
The customer says it’s been failing “since Tuesday”. Find out whether that’s true and when it actually started.
Working With It

How to hand it a ticket well

Bring it the ticket, and you decide what goes back out. Butler does not watch the queue, pick tickets up on its own, or reply to your end customer, so the answer that reaches them is always one a person chose to send.
Teach it your own names for your own equipment. Butler works from your calls, hosts and configuration on day one. The nicknames your team uses internally are yours to define, so tell it once what they map to and it will use them from then on, including when a ticket arrives written in them.
Ask in whatever language the ticket arrived in, because tickets here have been worked from first message to resolution in languages nobody configured Butler for, including a four-word message that mixed a SIP response code with a Q.850 cause and expected to be understood. Ask again in your customer’s language when you need something to forward.
A narrative is enough, though a timestamp is faster, because Butler can find a call from prose alone, so if the complaint happens to carry a time or a direction, include it and the answer arrives in fewer steps.
Butler Use Cases

One number and maybe a time. Butler finds the call and says whose side ended it.

Counts, groupings, thresholds and KPIs across a population of calls.

Routing tables, regex and SDP profiles in plain English.

Ask in French, Spanish or Portuguese, get the answer from the English documentation.

Changes, reports, files and email, each one waiting for your yes.

Work my ticket

Paste the complaint in the customer’s own words and let Butler find the call.

All Butler use cases

Paste your next complaint into Butler

If you are not saving 10 hours every month after 100 messages, we give you 100% of your money back.

By submitting this form, your information will be processed in accordance with our Privacy Policy.