Le serveur nativIP est livré avec une librairie pilote.dll permettant d'émettre des appels voix / fax depuis vos applications.
Elle permet d'appeler les numéros et postes de votre choix, par n'importe quel opérateur /gateway du système et de récupérer le résultat des appels. Elle est utilisable simplement, et fonctionne de façon synchrone ou asynchrone.
La librairie pilote est livrée en versions 32 et 64 bits.
Que vous utilisiez un serveur nativIP 32 ou 64 bits est transparent. Le choix de la DLL à utiliser dépend de votre application:
Application 64bits -> DLL 64bits
Application 32bits -> DLL 32bits
Pour simplifier son utilisation, les accès sont channelisés, permettant d'accéder à chaque ligne virtuelle via des identifiants de "ligne" même si cela n'a pas de sens en IP.
La DLL est multithread et peut piloter autant d'appels simultanés que souhaité. La capacité de licence de votre serveur ainsi que ses liens télécoms devront être pris en compte pour éviter d'émettre des appels hors capacité.
Pour des campagnes d'appels type téléalerte par téléphone, envois de télécopies en masse, informations de livraison etc... il est conseillé d'utiliser le mode campagne d'appel. Ce mode permet de structurer les appels en campagnes sans se soucier du pilotage appel par appel.
Il permet une affectation optimale des ressources mais son implémentation nécessite des interfaçages plus évolués. Le mode campagne d'appel permet de prioriser les appels, et gère automatiquement les rappels en cas de non réponse/non acquittement.
Fonctions exportées
pilote_Call
unsigned pilote_Call(unsigned channel,char *calledid,char *callerid,char *gateway, char *media, char *scenario_document, char*accountcode, BOOL bWait)
émettre un appel vers la destination de son choix. renvoie 0 si OK, le code d'erreur sinon.
channel : numéro du canal virtuel choisi.
calledid : numéro appelé (numéro de téléphone, de poste ou adresse SIP)
calledid : numéro présenté (numéro de l'appelant, selon compatibilité du lien télécom)
gateway : nom de la gateway ou du trunk opérateur à utiliser - "local" si appel d'un poste de l'installation
media : "tel", "fax"
scenario_document : nom du scénario (appel voix), ou du document TIFF (appel fax)
accountcode : optionnel code de facturation à include dans les CDR.
bWait : mode synchrone (TRUE) ou asynchrone (FALSE) : attend ou non la fin de la communication pour rendre la main.
exemple : pilote_Call(4,"0252360030","0102030405","sfr","TEL","demo_serveurvocal","nativip",FALSE)
appelle le 02.52.36.00.30 sur le canal virtuel 4 via le trunk SIP nommé SFR. L'appel est de type voix et le scénario demo_serveurvocal est joué au décroché.
pilote_Status
unsigned pilote_Status(unsigned channel)
renvoie le status de la communication sur le canal choisi.
channel : numéro du canal virtuel choisi.La valeur renvoyée correspond à l'état de la communication sur le canal choisi. Les codes définis dans pilote.h définissent précisemment l'état de la communication et les raisons de terminaison.
exemple : if(pilote_Status(42))==PILOTE_COMM_OK) { // la communication a eu lieu et est terminée. }
pilote_Log
BOOL pilote_Log(unsigned channel, char *szLog, unsigned nSize)
permet de récupérer la chaine de log de la communication.
Si la communication est en cours,renvoie FALSE, si la communication est terminée et que la chaine de log est renseignée, renvoie TRUE.channel : numéro du canal virtuel choisi.
szLog : chaine contenant le log de la communication.
nSize : taille de szLog.