Archive for August, 2010

Décision du CRTC sur la concurrence des services Internet

0

Aujourd’hui, le CRTC rendait public certaines décisions concernant la concurrence dans les services internet soit la « Politique réglementaire de télécom CRTC 2010-632 », j’ai remarqué aucun article dans les médias francophones ( il faut croire qu’une décision du CRTC c’est moins intéressant que la commission Bastarache).

De façon générale, la décision est satisfaisante, elle:

  • permet aux fournisseurs de services indépendants d’offrir des vitesses équivalentes aux gros joueurs;
  • facilite l’accès aux technologies utilisant le câble (J’espère que cela permettra à des services tels que SpeedCable d’être plus compétitifs);
  • offre des accès compétitifs aux nouveaux réseaux tels que la fibre (si le prix coutant sur lequel se base la tarification n’est pas gonflé artificielement par les gros joueurs).

Par contre, je partage l’avis du conseiller Timothy Denton sur le fait que le CRTC aurait pu aller plus loin dans les possibilités de contrôle et de gestion de trafic par les fournisseurs indépendants.  Effectivement, peu de FAI offre des services Internet adaptés à des micro-marchés, par contre c’est un marché qui pourrait stimuler la diversité des offres de connectivité Internet et il est dommage que la règlementation n’aie pas été adapté en ce sens.

Par exemple, au Royaume-Uni, l’entreprise Demon, offre un service optimisé (Demon Game Pro) pour les joueurs via de la qualité de service et des liens directs avec certains fournisseurs de jeux en ligne.  Il va s’en dire que ses offres devraient être fait dans un contexte de “net neutrality” (accès équitable) c’est-à-dire sans réduire la qualité des services des compétiteurs.

<ironie>C’est dommage, imaginez un fournisseur conforme au rfc3514, offrant une sécurité intégrée au niveau IP.  C’est encore plus efficace que les trousse de sécurité vendus par certains fournisseurs.</ironie>

La décision complète est disponible à l’adresse suivante : http://www.crtc.gc.ca/fra/archive/2010/2010-632.htm

vtiger-source

Identification de l’appelant (CID) à partir des données de vtiger CRM

0

Chez gestion medsécure, nous utilisons le logiciel libre vtiger CRM pour assurer notre suivi de la clientèle. Vtiger CRM offre déja quelques options d’intégration avec la téléphonie IP, mais par défault, AsteriskNow/FreePBX ne peut pas automatiquement aller chercher les informations de l’appellant (CallerID) dans la base de données de vtiger CRM. Pour pallier à ce problème, il est possible de créer une vue regroupant les différents numéros de téléphones en respectant la logique suivante :

  • Prioriser le numéro mobile du contact (préfixe : ‘CM:’);
  • Pour les entreprises n’ayant qu’un contact associé, afficher son nom (‘CP:’);
  • Pour les entreprises ayant plusieurs contacts, afficher le nom de l’entreprise (AP ou AO);
  • En dernier recours, valider s’il s’agit d’un prospect (LM ou LP).

La première est de créer une vue que nous nommerons “vtiger_cid” à l’intérieur de la base de données utilisée par vtigerCRM qui sera utilisé pour nous retourner les noms (et leur préfixe) ainsi que les numéros normalisés et coupés à une longueur de 10 caractères.

CREATE VIEW vtiger_cid (name, number) AS
select concat('CM:',firstname,' ',lastname) as name, left(replace(replace(replace(replace(replace(mobile,' ',''),'(',''),')',''),'-',''),'.',''),10) as number from vtiger_contactdetails where mobile is not null and mobile <> ''
union
select concat('CP:',firstname,' ',lastname) as name, left(replace(replace(replace(replace(replace(phone,' ',''),'(',''),')',''),'-',''),'.',''),10) as number from vtiger_contactdetails where phone is not null and phone <> '' and accountid not in (select accountid from vtiger_contactdetails where accountid <> 0 group by accountid having count(accountid) > 1)
union
select concat('AP:',accountname) as name,left(replace(replace(replace(replace(replace(phone,' ',''),'(',''),')',''),'-',''),'.',''),10) as number from vtiger_account where phone is not null and phone <> ""
union
select concat('AO:',accountname) as name,left(replace(replace(replace(replace(replace(otherphone,' ',''),'(',''),')',''),'-',''),'.',''),10) as number from vtiger_account where otherphone is not null and otherphone <> "";
union select concat('LP:',firstname,' ',lastname) as name,left(replace(replace(replace(replace(replace(phone,' ',''),'(',''),')',''),'-',''),'.',''),10) as number  from vtiger_leadaddress, vtiger_leaddetails where  vtiger_leaddetails.leadid = vtiger_leadaddress.leadaddressid and phone is not null and phone <> ""
union select concat('LM:',firstname,' ',lastname) as name,left(replace(replace(replace(replace(replace(mobile,' ',''),'(',''),')',''),'-',''),'.',''),10) as number  from vtiger_leadaddress, vtiger_leaddetails where  vtiger_leaddetails.leadid = vtiger_leadaddress.leadaddressid and mobile is not null and phone <> ""

Par la suite, il suffit d’octroyé un accès en lecture à cette vue pour l’interroger à partir d’Asterisk similaire à la ligne de commandes suivante (qui devra être adapté en fonction du nom de la base de donnée, de l’adresse du serveur Asterisk et du mot de passe complexe que vous sélectionnerez. N’utilisez JAMAIS le compte utilisateur de votre installation de vtiger CRM mais créer un compte limité à cette consultation.

GRANT SELECT ON [Nom_de_la_base_de_donnée].vtiger_cid TO vtiger_cid@[Adresse du serveur Asterisk] IDENTIFIED BY 'Mot de Passe Complexe';

Et ajouter une nouvelle source de CID à votre environ de téléphonie IP sous FreePBX

La requête (Query) est la suivante, le [NUMBER] doit resté tel-quel car Asterisk le replacera par le numéro de l’appelant  :

SELECT name FROM vtiger_cid WHERE number = '[NUMBER]'

Finalement il suffit d’indiquer à FreePBX d’utiliser cette nouvelle source d’appelant sur votre route.

Pour valider que tout fonctionne correctement, il est possible de regarder les traces d’exécutions

-- Executing [cidlookup_2@cidlookup:2] MYSQL("IAX2/XXXXXXXX-2658", "Query resultid 1 SELECT name FROM vtiger_cid WHERE number = 'XXXXXXXX'") in new stack

Maintenant sur vos téléphones l’information affichée sera cohérente avec celle saisie dans votre CRM et les informations affichées pourrait être modifiée selon leur pertinence et vos besoins.


Votre entreprise a un projet en téléphonie IP ou désire intégrer sa téléphonie avec des systèmes de gestion tel qu’un dossier patient informatisé ou un système de suivi de la clientèle ? N’hésitez pas à communiquer avec gestion medsécure qui saura vous conseiller dans votre projet.

Securité sous AsteriskNow

0

Dans le monde de la téléphonie open source utilisant Asterisk, trois distributions majeures sont basées sur CentOS sont disponible : Trixbox, Elastix et AsteriskNow, j’ai plusieurs réserves envers la première (sécurité très discutable…), beaucoup moins pour la seconde et très peu pour la dernière qui est ma favorite dans le cadre de déploiement de téléphonie.

Malheureusement, favorite ne veut pas dire parfaite :) Surtout lorsque l’aspect sécurité passe avant celui des fonctionnalités car un des problèmes des distributions linux spécialisés est le partage des configurations sensibles (mots de passe, utilisateur, etc.) de façon générique.

C’est dans ce contexte j’ai publié un script dont l’objectif est d’automatiser un premier niveau de sécurité sous la distribution AsteriskNow : Changement des mots de passes par défault, sécurité du mode console, déconnexion automatique, etc… Ce script ne remplace pas un durcissement en profondeur adapté au type de déploiement requis, mais offre un niveau de sécurité minimal.

Pour plus de détail, visitez la page du script en question : http://medsecure.ca/produits/asterisknow-hardeningbootstraping-script/ (anglais)

Go to Top