RE: Transfert d'appel via CTI JS
26/10/2020, 15:37
Message : #2
Bonjour,
Merci de l'intérêt que vous portez à nos solutions.
- Pour effectuer un transfert accompagné avec l'API de CTI côté client, il faut découper la mécanisme qui revient à ce que font les postes IP :
1. Décrocher l'appel entrant (call.answer) et le mettre en attente (call.pause),
2. Appeler la cible du transfert (cti.dial) et raccrocher une fois la personne prévenue (call.hang_up),
3. Reprendre l'appel entrant de départ (call.answer) et effectuer un transfert aveugle vers la cible (call.transfer), ou vous pouvez fusionner les deux appels (call.merge).
Pour effectuer une fusion, il vous faut d'abord superviser le park d'appel (cti.subscribe("callpark")). Lorsque vous mettrez votre appel entrant en attente, vous récupérerez un nouvel objet call (que l'on nommera ici oldcall). Ensuite vous faites votre appel sortant vers le destinataire du transfert, et vous récupérer un second objet call. Sur ce second objet vous appelez la méthode call.merge("callee", oldcall, "caller")
- Si vous ne souhaitez pas parler avec la cible, vous pouvez effectuer un transfert supervisé (call.supervised_transfer).
Cordialement.
Merci de l'intérêt que vous portez à nos solutions.
- Pour effectuer un transfert accompagné avec l'API de CTI côté client, il faut découper la mécanisme qui revient à ce que font les postes IP :
1. Décrocher l'appel entrant (call.answer) et le mettre en attente (call.pause),
2. Appeler la cible du transfert (cti.dial) et raccrocher une fois la personne prévenue (call.hang_up),
3. Reprendre l'appel entrant de départ (call.answer) et effectuer un transfert aveugle vers la cible (call.transfer), ou vous pouvez fusionner les deux appels (call.merge).
Pour effectuer une fusion, il vous faut d'abord superviser le park d'appel (cti.subscribe("callpark")). Lorsque vous mettrez votre appel entrant en attente, vous récupérerez un nouvel objet call (que l'on nommera ici oldcall). Ensuite vous faites votre appel sortant vers le destinataire du transfert, et vous récupérer un second objet call. Sur ce second objet vous appelez la méthode call.merge("callee", oldcall, "caller")
- Si vous ne souhaitez pas parler avec la cible, vous pouvez effectuer un transfert supervisé (call.supervised_transfer).
Cordialement.