Projet / VoIP / InterventionOusmaneWilane

Périmètre de l'intervention d'Ousmane Wilane (projet VoIP) suite à VoIPFormationJuin2006

  1. backport complet de asterisk 1.2.9.1 + bristuff pour Sarge (depuis backports.org et sources de etch), avec toutes les dépendances nécessaires (surtout h323) : **2 jours**
  2. création d'un paquet asterisk version SVN (1.3.99) : **2 jours**
  3. intégration des ip phone 5 (programmation des touches, p.ex. Transfert pour le "transfert assisté") : **2 jours**
  4. retours sur services de base : transfert, conférences, parking, etc. **2 jour**
  5. utilisation de DUNDi dans le cadre du déploiement : **2 jours**

Total : 10 jours.

L'intervention commencera lundi 10 juillet (sur 10 jours ensuite, mais pas forcément contigüs).

Cette page sera le lieu de suivi de l'avancement.

lundi 10 juillet

backport 1.2.9.1 depuis Sid sur une sarge vierge (xen1.sn.auf)

résultat : asterisk 1.2.9.1.dfsg-2.auf

mardi 11 juillet

Ce paquet produit principalement chan_ooh323.so qui est le pilote de canal H.323 et son fichier de configuration h323.conf. De plus un fichier extensions.conf.sample est produit pour les exemples d'utilisation du pilote dans le dialplan.

Procédure Crash:

conformément au Makefile généré par ./configure

  1. debian/control

              Conflicts: asterisk-oh323, asterisk-h323
              Replace: asterisk-oh323, asterisk-h323
  2. asterisk-ooh323c.ooh323.logrotate contient les directives logrotate
  3. asterisk-ooh323c.postinst et asterisk-ooh323c.postrm ré-demarrent asterisk pour l'essentiel

résultat : asterisk-ooh323c_1.2.3-1_i386.deb

jeudi 13 juillet

backport SVN Trunk r37545 depuis Sid sur une sarge vierge (xen1.sn.auf)

Procédure Crash:

résultat :

vendredi 14 juillet

lundi 17 juillet

mardi 18 juillet

jeudi 20 juillet

Etude du Firmware YWH500 (PALH323API).

Objectifs: Envoyer '*2' lorqu'en cours d'appel la touche 'Transfer' est appuyé sans numéros (Transfert assisté). Le transfert dit aveugle' est toujours possible en composant le numéros de la destination avant d'appuyer sur la touche Transfer'. `*2' sont les DTMF accpetés par défaut par Asterisk (features.conf).

Résultat:

OnCallTransfer() est définit dans main/function.c

La fonction Iax2AttendedTransfer() est définit dans P_IAX2/iax2.c mais il ne marche pas.

Une fonction Iax2SendDtmfKeys est définit dans P_IAX2/iax2.c et le prototype de la fonction est définit dans inc/inc/p_iax2.h:

Nous essayons d'utiliser Iax2SendDtmfKeys() pour envoyer les dtmfs '*2' mais la journée est achevée sans trouver un moyen de faire recompiler les modifications apportées dans iax2.c pour vérifier la théorie.

vendredi 21 juillet

Il faut recompiler la bibliothèque P_IAX2.LIB sous lib/ dés qu'on la modifie mk.bat ne le fait pas par défaut : mk lib p_iax2

Conclusions partielles:

lundi 24 juillet

mardi 25 juillet

La Macro Détecte les deux mode d'appels (Transféré = Avec Interlocuteur et non transfére = Sans Interlocuteur) et crée une conférence dynamique dont le numéros est le numéros de l'intiateur (Numéros de poste). Ensuite on peut y ajouter autant de participants.

 [macro-nwc]
 exten => s,1,NooP(${BLINDTRANSFER})
 exten => s,2,Gotoif($["${BLINDTRANSFER}" != ""]?s-TRANSFERED|1:s-NOTTRANSFERED|1)

 exten => s-TRANSFERED,1,Cut(TECH=BLINDTRANSFER,/,1)
 exten => s-TRANSFERED,2,Gotoif($["${TECH}" : "IAX2"]?s-TRYIAX2|1:s-INVALID|1)

 exten => s-NOTTRANSFERED,1,Noop(${CHANNEL})
 exten => s-NOTTRANSFERED,2,Gotoif($["${CHANNEL}" != ""]?s-IAX2HOLDER|1:s-INVALID|1)

 exten => s-TRYIAX2,1,Cut(CONFHOLDER=BLINDTRANSFER,/,2)
 exten => s-TRYIAX2,2,Cut(CONFHOLDER=CONFHOLDER,-,1)
 exten => s-TRYIAX2,3,Goto(s-USERJOIN|1)

 exten => s-IAX2HOLDER,1,Cut(CONFHOLDER=CHANNEL,/,2)
 exten => s-IAX2HOLDER,2,Cut(CONFHOLDER=CONFHOLDER,-,1)
 exten => s-IAX2HOLDER,3,Goto(s-CHECKCONFEXIST|1)

 exten => s-USERJOIN,1,MeetMe(${CONFHOLDER},qdw)

 exten => s-CHECKCONFEXIST,1,MeetmeCount(${CONFHOLDER},CONFCOUNT)
 exten => s-CHECKCONFEXIST,2,GotoIf($["${CONFCOUNT}" = ""]?s-INVALID|1:s-CONFNOTEMPTY|1)

 exten => s-CONFNOTEMPTY,1,Gotoif($[${CONFCOUNT} > 0]?s-HOLDERJOIN|1:s-INVALID|1)

 exten => s-HOLDERJOIN,1,Meetme(${CONFHOLDER},qdA)

 exten => s-INVALID,1,Playtones(info)
 exten => s-INVALID,2,Wait(10)
 exten => s-INVALID,3,Hangup()


CatégorieVoIP

Projet/VoIP/InterventionOusmaneWilane (dernière édition le 2008-02-21 22:09:34 par localhost)