Modifier le effective_caller_id_name dans un dialplan à partir d’un fichier CSV
La problématique qui a mené à ce petit bout de code est tout simple, on avait une liste d’employés qui arrivait au serveur Freeswitch à partir d’une T1 Nortel sur laquelle il nous étaient impossible de faire passer le «Caller Name». Par-contre, nous avions cette information «Caller Name – Extension» dans un fichier CSV généré automatiquement à tous les jours à partir pour du traîtement dans la base de donnée.
Voici comment configurer votre dialplan
<action application="export" data="my_caller_name=${effective_caller_id_name}"> <action application="set" data="caller=${caller_id_number}">
J’ai donc tout simplement bâti un script qui cherche l’extension du «caller» dans un fichier CSV et retourne le nom associé.
Et il faut mettre dans le répertoire «scripts» de Freeswitch un fichier setCallerName.py
import csv from freeswitch import * def handler(session,args): caller = session.getVariable("caller") csv_reader = csv.reader(open("pathToCsv.csv","rb")) portfolio_list = [] portfolio_list.extend(csv_reader) for data in portfolio_list: if (data[1] == caller): session.execute("set","effective_caller_id_name="+data[0])
It's 
