Call transfer
(Created page with "Toolpack software provides call transfer support, either by relaying call transfer requests and responses between two bridges call legs, or by locally processing the call tran...") |
|||
Line 24: | Line 24: | ||
== Call transfer modes == | == Call transfer modes == | ||
=== Call transfer forwarding === | === Call transfer forwarding === | ||
+ | In this mode, call transfer request, call transfer progress, and call transfer response messages are simply being forwarded between the two bridged call legs. Toolpack is not taking any local decision. It's expected that other equipments in the network will process the call transfer request and respond to it. | ||
+ | |||
+ | If the incoming call leg is using a protocol that's not supported for call transfer, the call transfer request will be ignored. | ||
=== Call transfer processing === | === Call transfer processing === | ||
+ | In this mode, the call transfer request is processed locally by Toolpack. The call transfer is processed as follows: | ||
+ | ==== Simplified call flow ==== | ||
+ | * Incoming call (''Transferee'') is routed and joined to an outgoing call leg (''Tranferor'') | ||
+ | * Outgoing call leg send a call transfer request | ||
+ | * A new outgoing call leg (''Transfer Target'') is routed and made | ||
+ | * Audio is unjoined between ''Transferee'' and ''Transferor'' | ||
+ | * ''Transfer Target'' answers | ||
+ | * ''Transferor'' is hung-up | ||
+ | * Audio is joined between ''Transferee'' and ''Transfer Target'' | ||
+ | |||
+ | ==== Complete call flow ==== | ||
+ | * Initial call establishment: | ||
+ | ** Incoming call is received (the ''Transferee'') | ||
+ | ** Routing is made (based on incoming leg's called number), outgoing call is made (the ''Transferor'') | ||
+ | ** Early media is handled (according to profile): | ||
+ | *** Ring tone may be played to ''Transferee'' if appropriate | ||
+ | *** Or Audio data path may be joined between ''Transferee'' and ''Transferor'' call legs if ''Transferor'' advertized early media | ||
+ | ** Route retry is handled: | ||
+ | *** In case of failure of a route, or in case of timeout, next mathing route is attempted | ||
+ | ** ''Transferor'' answers the call | ||
+ | ** Audio data path is joined between ''Transferee'' and ''Transferor'' call legs | ||
+ | * Call transfer request processing | ||
+ | ** A ''Call Transfer Request'' is received from the ''Transferor'' | ||
+ | ** ''Call Transfer Progress'' is sent back to the ''Transferor'' | ||
+ | ** Routing is made (using retirection number), a new outgoing call is made (the ''Transfer Target'') | ||
+ | ** Audio data path is unjoined between ''Transferee'' and ''Transferor'' | ||
+ | ** Optionally, the ''Transferor'' is hungup (according to profile) | ||
+ | ** Early media is handled (according to profile): | ||
+ | *** Ring tone may be played to ''Transferee'' if appropriate | ||
+ | *** Or Audio data path may be joined between ''Transferee'' and ''Transferor'' call legs if ''Transferor'' advertized early media | ||
+ | ** Route retry is handled: | ||
+ | *** In case of failure of a route, or in case of timeout, next mathing route is attempted | ||
+ | * Call transfer fails (Call transfer timeout, or explicit termination of ''Transfer Target'' before it's answered) | ||
+ | ** ''Transfer Target'' leg is terminated | ||
+ | ** ''Transferee'' is re-joined with ''Transferor'' (unless ''Transferor'' has been terminated or has hung-up) | ||
+ | ** ''Call Transfer Response'' (with appropriate cause) is sent back to ''Transferor'' leg | ||
+ | * Call transfer succeeds | ||
+ | * Call transfer succeedsToolpack software provides call transfer support, either by relaying call transfer requests and responses between two bridges call legs, or by locally processing the call transfer (making a new outgoing call leg, joining incoming call leg to the new outgoing call, dropping the original outgoing call leg). | ||
+ | |||
+ | == Call transfer terms: == | ||
+ | * ''Transferee'': The incoming call leg, that is initially speaking with the ''Transferor'', then later transferred to the ''Transfer Target''. | ||
+ | * ''Transferor'': The outgoing call leg that is initiating the call transfer request, and that gets disconnected once the transfer has been completed. | ||
+ | * ''Transfer Target'': The second outgoing call leg, which is later made and joined to the ''Transferee'' | ||
+ | |||
+ | == Supported call transfer protocols == | ||
+ | * SS7: Not supported | ||
+ | * ISDN: Using Q.931 Facility IE | ||
+ | * CASR2: Not supported | ||
+ | * SIP: Using SIP Refer | ||
+ | |||
+ | == Toolpack configuration == | ||
+ | The Call transfer behavior is configured per profile. In the web portal: | ||
+ | * Click on ''Profiles'' in the left menu | ||
+ | * Select the profile to edit: the profile used on the ''Transferor'' call leg (outgoing call leg) | ||
+ | * Expand section 'Call Transfer Options' | ||
+ | * Choose appropriate options: | ||
+ | ** ''Call Transfer Mode'': Indicates if call transfer requests from outgoing leg must be relayed to incoming leg, or locally processed | ||
+ | ** ''Terminate Transferor immediately'': When checked, the ''Transferor'' all leg is immediately terminated when new outgoing call leg is made. Otherwise, it's terminated only once the ''Transfer Target'' answers, and may be re-joined later with ''Transferee'' if ''Transfer Target'' fails or times out. | ||
+ | ** ''Call Transfer timeout'': Timeout waiting for ''Transfer Target'' to answer before declaring the call transfer as failed. | ||
+ | |||
+ | == Call transfer modes == | ||
+ | === Call transfer forwarding === | ||
+ | In this mode, call transfer request, call transfer progress, and call transfer response messages are simply being forwarded between the two bridged call legs. Toolpack is not taking any local decision. It's expected that other equipments in the network will process the call transfer request and respond to it. | ||
+ | |||
+ | If the incoming call leg is using a protocol that's not supported for call transfer, the call transfer request will be ignored. | ||
+ | |||
+ | === Call transfer processing === | ||
+ | In this mode, the call transfer request is processed locally by Toolpack. The call transfer is processed as follows: | ||
+ | ==== Simplified call flow ==== | ||
+ | * Incoming call (''Transferee'') is routed and joined to an outgoing call leg (''Tranferor'') | ||
+ | * Outgoing call leg send a call transfer request | ||
+ | * A new outgoing call leg (''Transfer Target'') is routed and made | ||
+ | * Audio is unjoined between ''Transferee'' and ''Transferor'' | ||
+ | * ''Transfer Target'' answers | ||
+ | * ''Transferor'' is hung-up | ||
+ | * Audio is joined between ''Transferee'' and ''Transfer Target'' | ||
+ | |||
+ | ==== Complete call flow ==== | ||
+ | * Initial call establishment: | ||
+ | ** Incoming call is received (the ''Transferee'') | ||
+ | ** Routing is made (based on incoming leg's called number), outgoing call is made (the ''Transferor'') | ||
+ | ** Early media is handled (according to profile): | ||
+ | *** Ring tone may be played to ''Transferee'' if appropriate | ||
+ | *** Or Audio data path may be joined between ''Transferee'' and ''Transferor'' call legs if ''Transferor'' advertized early media | ||
+ | ** Route retry is handled: | ||
+ | *** In case of failure of a route, or in case of timeout, next mathing route is attempted | ||
+ | ** ''Transferor'' answers the call | ||
+ | ** Audio data path is joined between ''Transferee'' and ''Transferor'' call legs | ||
+ | * Call transfer request processing | ||
+ | ** A ''Call Transfer Request'' is received from the ''Transferor'' | ||
+ | ** ''Call Transfer Progress'' is sent back to the ''Transferor'' | ||
+ | ** Routing is made (using retirection number), a new outgoing call is made (the ''Transfer Target'') | ||
+ | ** Audio data path is unjoined between ''Transferee'' and ''Transferor'' | ||
+ | ** Optionally, the ''Transferor'' is hungup (according to profile) | ||
+ | ** Early media is handled (according to profile): | ||
+ | *** Ring tone may be played to ''Transferee'' if appropriate | ||
+ | *** Or Audio data path may be joined between ''Transferee'' and ''Transfer Target'' call legs if ''Transfer Target'' advertized early media | ||
+ | ** Route retry is handled: | ||
+ | *** In case of failure of a route, or in case of timeout, next mathing route is attempted | ||
+ | * Call transfer fails (Call transfer timeout, or explicit termination of ''Transfer Target'' before it's answered) | ||
+ | ** ''Transfer Target'' leg is terminated | ||
+ | ** ''Transferee'' is re-joined with ''Transferor'' (unless ''Transferor'' has been terminated or has hung-up) | ||
+ | ** ''Call Transfer Response'' (with appropriate cause) is sent back to ''Transferor'' leg | ||
+ | * Call transfer succeeds (''Transfer Target'' answers the call) | ||
+ | ** ''Call Transfer Response'' (with success cause) is sent back to ''Transferor'' (unless already terminated) | ||
+ | ** ''Transferor'' is terminated (if not already) | ||
+ | ** Audio data path is joined between ''Transferee'' and ''Transfer Target'' | ||
+ | ** ''Transfer Target'' now becomes the new ''Transferor'' (in case it also sends a ''Call Transfer Request'') |
Revision as of 08:56, 16 July 2012
Toolpack software provides call transfer support, either by relaying call transfer requests and responses between two bridges call legs, or by locally processing the call transfer (making a new outgoing call leg, joining incoming call leg to the new outgoing call, dropping the original outgoing call leg).
Contents |
Call transfer terms:
- Transferee: The incoming call leg, that is initially speaking with the Transferor, then later transferred to the Transfer Target.
- Transferor: The outgoing call leg that is initiating the call transfer request, and that gets disconnected once the transfer has been completed.
- Transfer Target: The second outgoing call leg, which is later made and joined to the Transferee
Supported call transfer protocols
- SS7: Not supported
- ISDN: Using Q.931 Facility IE
- CASR2: Not supported
- SIP: Using SIP Refer
Toolpack configuration
The Call transfer behavior is configured per profile. In the web portal:
- Click on Profiles in the left menu
- Select the profile to edit: the profile used on the Transferor call leg (outgoing call leg)
- Expand section 'Call Transfer Options'
- Choose appropriate options:
- Call Transfer Mode: Indicates if call transfer requests from outgoing leg must be relayed to incoming leg, or locally processed
- Terminate Transferor immediately: When checked, the Transferor all leg is immediately terminated when new outgoing call leg is made. Otherwise, it's terminated only once the Transfer Target answers, and may be re-joined later with Transferee if Transfer Target fails or times out.
- Call Transfer timeout: Timeout waiting for Transfer Target to answer before declaring the call transfer as failed.
Call transfer modes
Call transfer forwarding
In this mode, call transfer request, call transfer progress, and call transfer response messages are simply being forwarded between the two bridged call legs. Toolpack is not taking any local decision. It's expected that other equipments in the network will process the call transfer request and respond to it.
If the incoming call leg is using a protocol that's not supported for call transfer, the call transfer request will be ignored.
Call transfer processing
In this mode, the call transfer request is processed locally by Toolpack. The call transfer is processed as follows:
Simplified call flow
- Incoming call (Transferee) is routed and joined to an outgoing call leg (Tranferor)
- Outgoing call leg send a call transfer request
- A new outgoing call leg (Transfer Target) is routed and made
- Audio is unjoined between Transferee and Transferor
- Transfer Target answers
- Transferor is hung-up
- Audio is joined between Transferee and Transfer Target
Complete call flow
- Initial call establishment:
- Incoming call is received (the Transferee)
- Routing is made (based on incoming leg's called number), outgoing call is made (the Transferor)
- Early media is handled (according to profile):
- Ring tone may be played to Transferee if appropriate
- Or Audio data path may be joined between Transferee and Transferor call legs if Transferor advertized early media
- Route retry is handled:
- In case of failure of a route, or in case of timeout, next mathing route is attempted
- Transferor answers the call
- Audio data path is joined between Transferee and Transferor call legs
- Call transfer request processing
- A Call Transfer Request is received from the Transferor
- Call Transfer Progress is sent back to the Transferor
- Routing is made (using retirection number), a new outgoing call is made (the Transfer Target)
- Audio data path is unjoined between Transferee and Transferor
- Optionally, the Transferor is hungup (according to profile)
- Early media is handled (according to profile):
- Ring tone may be played to Transferee if appropriate
- Or Audio data path may be joined between Transferee and Transferor call legs if Transferor advertized early media
- Route retry is handled:
- In case of failure of a route, or in case of timeout, next mathing route is attempted
- Call transfer fails (Call transfer timeout, or explicit termination of Transfer Target before it's answered)
- Transfer Target leg is terminated
- Transferee is re-joined with Transferor (unless Transferor has been terminated or has hung-up)
- Call Transfer Response (with appropriate cause) is sent back to Transferor leg
- Call transfer succeeds
- Call transfer succeedsToolpack software provides call transfer support, either by relaying call transfer requests and responses between two bridges call legs, or by locally processing the call transfer (making a new outgoing call leg, joining incoming call leg to the new outgoing call, dropping the original outgoing call leg).
Call transfer terms:
- Transferee: The incoming call leg, that is initially speaking with the Transferor, then later transferred to the Transfer Target.
- Transferor: The outgoing call leg that is initiating the call transfer request, and that gets disconnected once the transfer has been completed.
- Transfer Target: The second outgoing call leg, which is later made and joined to the Transferee
Supported call transfer protocols
- SS7: Not supported
- ISDN: Using Q.931 Facility IE
- CASR2: Not supported
- SIP: Using SIP Refer
Toolpack configuration
The Call transfer behavior is configured per profile. In the web portal:
- Click on Profiles in the left menu
- Select the profile to edit: the profile used on the Transferor call leg (outgoing call leg)
- Expand section 'Call Transfer Options'
- Choose appropriate options:
- Call Transfer Mode: Indicates if call transfer requests from outgoing leg must be relayed to incoming leg, or locally processed
- Terminate Transferor immediately: When checked, the Transferor all leg is immediately terminated when new outgoing call leg is made. Otherwise, it's terminated only once the Transfer Target answers, and may be re-joined later with Transferee if Transfer Target fails or times out.
- Call Transfer timeout: Timeout waiting for Transfer Target to answer before declaring the call transfer as failed.
Call transfer modes
Call transfer forwarding
In this mode, call transfer request, call transfer progress, and call transfer response messages are simply being forwarded between the two bridged call legs. Toolpack is not taking any local decision. It's expected that other equipments in the network will process the call transfer request and respond to it.
If the incoming call leg is using a protocol that's not supported for call transfer, the call transfer request will be ignored.
Call transfer processing
In this mode, the call transfer request is processed locally by Toolpack. The call transfer is processed as follows:
Simplified call flow
- Incoming call (Transferee) is routed and joined to an outgoing call leg (Tranferor)
- Outgoing call leg send a call transfer request
- A new outgoing call leg (Transfer Target) is routed and made
- Audio is unjoined between Transferee and Transferor
- Transfer Target answers
- Transferor is hung-up
- Audio is joined between Transferee and Transfer Target
Complete call flow
- Initial call establishment:
- Incoming call is received (the Transferee)
- Routing is made (based on incoming leg's called number), outgoing call is made (the Transferor)
- Early media is handled (according to profile):
- Ring tone may be played to Transferee if appropriate
- Or Audio data path may be joined between Transferee and Transferor call legs if Transferor advertized early media
- Route retry is handled:
- In case of failure of a route, or in case of timeout, next mathing route is attempted
- Transferor answers the call
- Audio data path is joined between Transferee and Transferor call legs
- Call transfer request processing
- A Call Transfer Request is received from the Transferor
- Call Transfer Progress is sent back to the Transferor
- Routing is made (using retirection number), a new outgoing call is made (the Transfer Target)
- Audio data path is unjoined between Transferee and Transferor
- Optionally, the Transferor is hungup (according to profile)
- Early media is handled (according to profile):
- Ring tone may be played to Transferee if appropriate
- Or Audio data path may be joined between Transferee and Transfer Target call legs if Transfer Target advertized early media
- Route retry is handled:
- In case of failure of a route, or in case of timeout, next mathing route is attempted
- Call transfer fails (Call transfer timeout, or explicit termination of Transfer Target before it's answered)
- Transfer Target leg is terminated
- Transferee is re-joined with Transferor (unless Transferor has been terminated or has hung-up)
- Call Transfer Response (with appropriate cause) is sent back to Transferor leg
- Call transfer succeeds (Transfer Target answers the call)
- Call Transfer Response (with success cause) is sent back to Transferor (unless already terminated)
- Transferor is terminated (if not already)
- Audio data path is joined between Transferee and Transfer Target
- Transfer Target now becomes the new Transferor (in case it also sends a Call Transfer Request)