PDA

Voir la version complète : Click2call fonctionnel mais s'exécute en deux étapes



ootsun
15/02/2018, 12h53
Bonjour à tous et toutes,

J'ai écrit un bout de code java en utilisant la bibliothèque de classes Asterisk-java. Ce code appelle l'un de mes user, John Doe (connecté sur un softphone X-Lite) en utilisant le compte d'un deuxième user, Albert Dupont (connecté sur un softphone Ekiga).

Ce code fonctionne. Ce qui me dérange c'est que l'appel se passe en deux étapes :

Albert (l'appelant) reçoit un appel venant de lui-même.
Si Albert décroche, l'appel vers John est lancé (qui peut à son tour décrocher).


Je souhaiterais que l'appel se lance directement. Connaissez-vous ce comportement? Auriez-vous une (piste de) solution à m'offrir?

Ci-joint, un screenshot de la première étape ainsi que mon code (on ne sait jamais:))

Un très grand merci d'avance!

Gabriel

685


public void call(final String user, final String exten) throws IOException, AuthenticationFailedException, TimeoutException {
OriginateAction originateAction;
ManagerResponse originateResponse;

originateAction = new OriginateAction();
originateAction.setChannel("SIP/" + user);
originateAction.setContext("work");
originateAction.setExten(exten);
originateAction.setPriority(new Integer(1));
originateAction.setTimeout(new Long(30000));

// connect to Asterisk and log in
managerConnection.login();

// send the originate action and wait for a maximum of 30 seconds for Asterisk to send a reply
originateResponse = managerConnection.sendAction(originateAction, 30000);

// and finally log off and disconnect
managerConnection.logoff();
}

ootsun
15/02/2018, 15h06
Ne faites pas attention à la deuxième miniature attachée (anonymous call), je n'ai pas réussi à l'enlever lorsque j'ai édité mon message ;)

slemoal
15/02/2018, 19h45
c'est le fonctionnement normal.

Tu peux toujours passer un dialplan qui décrocherait le canal avant d'attendre que le statut de l'appel soit décroché avant d'appeler l'autre correspondant, mais quel intérêt?

ootsun
15/02/2018, 21h56
Merci pour ta réponse, j'explorerai cette piste demain matin :)
Je ne comprenais pas du tout ce comportement parce que je test ça avec des softphones. Et dans ce cas-là, ça n'a aucun sens de faire décrocher l'utilisateur une première fois s'il vient de cliquer sur un bouton HTML intituler "Appeler 06041643641". Mais dans le cas d'un téléphone physique c'est vrai que c'est logique ;)
Un tout grand merci!

jean
16/02/2018, 09h52
tu peux configurer ton sofptohne en décrochage auto, ou ajouter un headr custom indiquant décrochage auto,
same => n,SIPAddHeader(Call-Info: answer-after=1)

mais tous ne supportent pas forcément cette fonctionnalité

ootsun
16/02/2018, 10h16
Ah, je savais pas! Merci, je vais regarder, ça me semble plus simple :p