PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → WD20 - Appels entrants -> téléphonie (fonction telDémarreDétectionAppel et liées)
WD20 - Appels entrants -> téléphonie (fonction telDémarreDétectionAppel et liées)
Débuté par Louis La Brocante, 15 jan. 2015 16:00 - 1 réponse
Posté le 15 janvier 2015 - 16:00
Bonjour à tous,

J'effectue des traitements liés à la téléphonie.

Nous disposons d'un central téléphonique "BELGACOM FORUM 5xx" (Aastra Mastra).

Belgacom/Proximus fournit sur son site les drivers TAPI liés à cette centrale
( http://support.fr.proximus.be/app/answers/detail/a_id/14363/~/modes-demploi-des-centraux-téléphoniques )

Je peux, via les fonctions "telXxx" procéder à un appel sortant, raccrocher... Ce qui me laisse à penser que la configuration est correcte.

Cependant, lorsque je souhaite traiter des appels entrants, par exemple en utilisant le soft Exemple WD TELEPHONIE, l'application s'arrête dès qu'un appel entrant est détecté.

SI telDémarreDétectionAppel("AppelEntrant", telOptionTypeVoix, "DetectionAppel") = Vrai ALORS
// Le service de détection des appels a démarré
//**************
SINON
// Le service de détection des appels n'a pas démarré
Erreur("Impossible de démarrer la détection des appels" + RC + ...
"Détail de l'erreur :"+ RC + ErreurInfo(errMessage))
FIN


Le code remplacé par les étoiles fonctionne correctement. Le problème se pose donc dans la fonction "DetectionAppel" appelée par telDémarreDétectionAppel.

Voici le code du module WD TELEPHONIE:

Procedure DetectionAppel(nIDService, nIDAppel, nStatut)

// AVERTISSEMENT :
// Les traitements réalisés dans cette procédure sont appelés à partir d'un thread
// La gestion de l'affichage doit être réalisé à partir du thread principal
// (d'où l'utilisation de PostMessage)
// Pour déboguer ce type de traitement, vous devez utiliser la fonction "Trace"
// détection des appels entrants
SELON nStatut
// Détection d'un nouvel appel :
// Note : On ne disposera de plus d'informations qu'après au moins une sonnerie
CAS telNouvelAppel :
// On signale l'arrivée d'un nouvel appel à la fenêtre principale pour ouvrir une Popup
PostMessage(Handle(FEN_Arrivee_Appel), "AppelTel", nIDAppel, nStatut)

// On dispose d'informations sur l'appel
CAS telInformationAppel :
// On signale l'arrivée d'un nouvel appel à la fenêtre principale pour ouvrir une Popup
PostMessage(Handle(FEN_Arrivee_Appel), "AppelTelInfo", nIDAppel, nStatut)

// La ligne a été raccrochée
CAS telLigneRaccrochée :
// On signale l'arrivée d'un nouvel appel à la fenêtre principale pour ouvrir une Popup
PostMessage(Handle(FEN_Arrivee_Appel), "AppelTelFin" ,nIDAppel, nStatut)
FIN


Cependant, cette fonction n'est jamais utilisée, j'obtiens automatiquement une erreur:

En développement:





Le message est presque sensiblement identique en "production".

Il est à noter que le programme fourni par Belgacom/Proximus parvient bien à gérer les appels entrants.

Je ne parviens pas à avoir la moindre information me permettant de trouver d'ou vient ce problème... D'autres personnes l'ont peut-être également ?

Avez-vous réussi à trouver une solution ? Merci d'avance pour votre intervention.

Bien à vous,
Posté le 16 janvier 2015 - 15:40
Veuillez m'excuser mais je me permets de remonter le topic. Quelqu'un a-t-il un problème semblable?

Cordialement,