Use cases
The use cases are crafted to respect the most important call center scenarios as was possible to grasp from hard to grasp customer requirements in an attempt to find a best effort approximation of what customer (and customers providing call centers) may need.
The descriptions still miss clarification on some details or are can't be satisfied with current scope of implementation (mr53 at the time of this writing). These are subject of future discussion and design. Such parts are commented and marked with color.
Specifically we do not have any exact determination of what call was missed. So far we only recognize the 0 media duration incoming XDR as "missed" - which means the call was not physically answered.
Voicemail
UC Voicemail #1: Straight to Voicemail
Configuration:
- External caller on foreign network, CLI=133395959222
- User 1, Account 111 with DID 12123388100, Default Answering Mode = "Voicemail Only".
Scenario:
- External caller dials 12123388100
- Call gets to PortaSwitch through VfV connection
- Call goes straight to voicemail for 30 seconds
We obtain XDRs ...
- XDR for Account 111 forwarded call to VM:
- 0 physical duration
- this call went to Media Server (voicemail)
- call type is forwarded (via_ext=111 is not stored as the xdr is billed to that party - which is the default, so the reference would be of no use)
- call was not missed by User 1.
UC Voicemail #2: Ring, Voicemail
Configuration:
- External caller on foreign network, CLI=133395959222
- User 1, Account 111 with DID 12123388100, Default Answering Mode = "Ring Then Voicemail".
Scenario:
- External caller calls 12123388100
- Call gets to PortaSwitch through VfV connection
- Call rings the on UA of User 1, he doesn't pick the phone
- After time out the call goes to the voicemail and lasts for 30 seconds
We obtain XDRs
- ...XDR for failed call to Account 111:
- 0 physical and charged duration
- ...XDR for Account 111 forwarded call to VM:
- 0 physical duration,
- this call went to Media Server (voicemail)
- call type is forwarded (via_ext=111 is not stored as the xdr is billed to that party - which is the default, so the reference would be of no use)
- the call was missed by User 1.
Pickups
UC Pckp #1: Through Pickup Code
Configuration:
External caller on foreign network, CLI=133395959222
- User 1, Account 111 with DID 12123388100, Default Answering Mode = "Ring Then Voicemail".
- User 2, Account 222.
Scenario:
- External caller calls 12123388100.
- Call gets to PortaSwitch via VfV connection.
- It rings for User 1, but User 1 is not at their desk.
- User 2 dials a pickup code and picks the call up.
- The conversation takes 10 minutes.
We obtain XDRs
- When we look at XDRs of User 1, we see that:
- this call has 0 physical duration
- the external caller CLI in the xdr.CLI
- this call was picked up by Account 222
- call was missed by User 1
- When we look at XDRs of User 2, we see that:
- this call has 10 minutes physical duration
- this was a pickup call from extension of User 1 (via_ext=111, call type is outgoing),
- the external caller CLI is kept in the CLD (xdr.CLD=133395959222)
Transfers
UC Transfers #1: Blind transfer
Configuration:
- External caller on foreign network, CLI=133395959222
- User 1 = Account 111 with DID 12123388100, Default Answering Mode = "Ring Then Voicemail".
- User 2 = Account 222.
Scenario:
- External caller calls 12123388100.
- Call gets to PortaSwitch via VfV connection.
- User 1 accepts the call. Talks 1 minute and understands that this call needs to be transferred to User 2.
- User 1 uses blind transfer.
- User 2 accepts the transfer. The conversation takes 10 minutes.
We obtain XDRs ...
- Incoming XDR for User 1:
- there was an incoming call to DID with total duration 11 minutes.
- this call has 1 minute physical duration (time spent by the user before blind transfer),
- Transfer XDR for User 1:
- for a call transferred to destination = User 2
- it had duration 10 minutes.
- this call has 0 physical/talking duration (since it was the the other party = external caller who spoke)
- this was a blind transfer.
- Incoming XDRs for User 2:
- this call has 10 minutes physical and charged duration,
- this call was transferred by Account 111
- this was a blind transfer
- it has CLI of the external caller
UC Transfers #2: Attended transfer
Configuration:
- External caller on foreign network, CLI=133395959222
- User 1, Account 111 with DID 12123388100, Default Answering Mode = "Ring Then Voicemail".
- User 2, Account 222.
Scenario:
- An external caller calls 12123388100.
- Call gets to PortaSwitch via VfV connection.
- User 1 accepts the call. Talks 1 minute and understands that this call needs to be transferred to User 2.
- User 1 puts the call on hold and places the call to reach User 2.
- User 2 accepts the call and spends 10 seconds with User 1 on a short consultation call
- User 1 transfers the call kept on hold to User 2
- User 2 spends 10 minutes talking with the external person then the call is disconnected.
We obtain XDRs ...
- Incoming XDR for User 1:
- incoming call to DID with charged duration 11 minutes and 10 seconds.
- this call has 1 minute and 10 seconds physical duration ( = 1 minute before the transfer, 10 seconds with User 2 to introduce the caller)
- Outgoing call for User 1:
- going to destination CLD = User 2:
- with duration 10 minutes and 10 seconds.
- this call has 10 seconds physical duration,
- the external caller is recorded in xdr. (CLI=133395959222)
- this was an attended transfer.
- Incoming XDRs of User 2:
- this call has 10 minutes 10 seconds charged as well as physical duration,
- this call was transferred by Account 111 (via_ext=111)
- this was an attended transfer
- the CLI of the calling party is the one of Account 111
- CLI of the external caller is only available in CDRs of User 1.
Forward/follow-me
UC Forward #1: Saving the last forwarder
Configuration:
- External caller on foreign network
- agent Scully, Account 111 with DID 12123388100, configured unconditional forward to 222
- agent Mulder, Account 222 with unconditional forward to 333
- James Bond, Account 333 with unconditional forward to 444
- Old MacDonald, Account 444
Scenario:
external caller -> agent Scully -> forward -> agent Mulder -> James Bond -> forward -> Old MacDonald
- An external caller calls 12123388100.
- The call is connected to user Old MacDonald, Account 444
We obtain XDRs ...
- There will be an incoming call xDR for agent Scully:
- physical duration=0, charged-quantity=calltime
- CLI = external caller
- There will be an incoming call xDR for agent Old MacDonald:
- physical duration=calltime, charged-quantity=calltime;
- it came via last forwarder James Bond (It will have only last forwarder James Bond, without information about the whole chain)
- it was a forwarded/follow-me call
- CLI = external caller