https://plone.lucidsolutions.co.nz/linux/freeswitch/install-freeswitch-on-a-centos-v6-vm

https://wiki.freeswitch.org/wiki/Dialplan_XML

https://confluence.freeswitch.org/display/FREESWITCH/Interoperability

http://www.fredshack.com/docs/freeswitch.html

Instalació

rpm -Uvh http://files.freeswitch.org/freeswitch-release-1-0.noarch.rpm   # afegim repo
yum install freeswitch                                                   # freeswitch base
yum install sox freeswitch-sounds*                                       # eines per tractar audio + sons per defecte
yum install freeswitch-lang*                                             # config idiomes
yum install freeswitch-freetdm                                           # interficie amb dispositius de telefonia (TDM) (opcional)
yum install freeswitch-spidermonkey                                      # soport per apps javascript (opcional)
yum install freeswitch-codec-*                                           # codecs audio
yum install freeswitch-application-*                                     # apps natives del freeswitch
yum install freeswitch-format*                                           # soport de diferents formats de fitxer (audio, seq tons,....)
yum install freeswitch-xml-*                                             # eines per CDR via xml i comms xml via http
chkconfig --add freeswitch && chkconfig --levels 35 freeswitch on        # activem el servei
service freeswitch start                                                 # inicialitzem el servei

Configuracio

Path: /etc/freeswitch

fitxers a tocar:

  • vars.xml : definicions usades a la resta de la configuracio important establir el domini
  • directory/default/*.xml : important canviar els passwords dels usuaris
  • autoload_configs/modules.conf : activar xml_rpc si es vol interf web i mod sofia si es vol SIP


vars.xml

  • canviat default password (linea 16)
  • canviat valor variable domain = cadt.com (linea 55)

modules.conf.xml

  • activat mod_xml_rpc (linia 138)
  • activat mod_xml_curl (linia 139)
  • activat mod_xml_cdr (linia 140)

Proves

Instalacio de twinkle a CentOS 6 yum install twinkle <enter>

Configuracio de twinkle

Create profile
. username 1000
. password cadtboira1
. proxy 192.168.1.95
. Transport/NAT: NAT traversal not needed

Modificacio de regles iptables

-A INPUT -m state --state NEW -m udp -p udp --dport 5060       -j voip-local-IN
-A INPUT -m state --state NEW -m udp -p udp -m multiport --dports 8000:8005 -j voip-local-IN


Activacio de trace sofia

Entra a la consola
* fs_cli <enter>
Activa trace per SIP
* sofia global siptrace <on|off>

Configuracio vars.xml

<X-PRE-PROCESS cmd="set" data="default_password=[PASSWORD]"/>
<X-PRE-PROCESS cmd="set" data="default_vm_password=[PASSWORD]"/>
<X-PRE-PROCESS cmd="set" data="ext_prefix=[PREFIX]"/>
<X-PRE-PROCESS cmd="set" data="domain=[DOMAIN]"/>
Per exemple
<X-PRE-PROCESS cmd="set" data="default_password=cadtboira1"/>
<X-PRE-PROCESS cmd="set" data="default_vm_password=cadtboira1"/>
<X-PRE-PROCESS cmd="set" data="ext_prefix=10"/>
<X-PRE-PROCESS cmd="set" data="domain=cadt.com"/>


Configuracio de servidors SIP

  • sip_profiles/external
. localphone
<include>
 <gateway name="localphone-gw">
   <param name="from-domain" value="localphone.com"/>
   <param name="from-user" value="[USERID]"/>
   <param name="realm" value="localphone.com"/>
   <param name="proxy" value="proxy.localphone.com"/>
   <param name="username" value="[USERID]"/>
   <param name="password" value="[PASSWORD]"/>
   <param name="extension-in-contact" value="true"/>
   <param name="retry-seconds" value="30"/>
   <param name="caller-id-in-from" value="false"/>
 </gateway>
</include>
. messagenet
<include>
 <gateway name="messagenet-gw">
   <param name="from-domain" value="messagenet.it"/>
   <param name="from-user" value="[USERID]"/>
   <param name="realm" value="messagenet.it"/>
   <param name="proxy" value="sip.messagenet.it"/>
   <param name="sip-port" value="5061"/>
   <param name="username" value="[USERID]"/>
   <param name="password" value="[PASSWORD]"/>
   <param name="extension-in-contact" value="true"/>
   <param name="retry-seconds" value="30"/>
   <param name="caller-id-in-from" value="false"/>
 </gateway>
</include>

TODO

  • recepcio trucades entrants
  • mode nit trucades entrants
  • passar trucada
  • trucades en espera
  • trunk entre oficines
  • musica trucada en espera ( canviar en funcio estacio)
  • telefons cisco
  • gateway linies analogiques
  • usuaris de confianca externs
  • conferencia
  • trucada a ultim numero
  • tornar trucada
  • integracio skype
  • redireccio e164 / estalvi cost trucada
  • videoconferencia/cursos
  • documentacio.....

Abreviacions

  • DAHDI: Digium/Asterisk Hardware Device Interface
  • CDR: Call Detail Records
  • CID: Call ID
  • DID: Direct Inward Dialing. Numero extern que crida a extensio interna...
  • LCR: least cost routing
  • POTS: Plain Old Telephony Service
  • FXO: Foreign eXchange Office. Port on es pot conectar una linia de telefon del proveidor
  • FXS: Foreign eXchange Service. Port on es pot conectar un telefon
  • snom: control tecles extra softphone
  • e164: Base de dades consultable via DNS query que converteix de nº POTS a contacte VoIP
  • IVR: Interactive Voice Response. menu de veu de la centraleta
  • STUN: Session Traversal Utilities for NAT. Esquiva NAT important per connexio directe
  • DND: Do Not Disturb
  • LCR: Least Cost Routing
  • DTMF: Dual Tone Multiple Frequency. Marcat per tons
  • FSK: Frequency Shift Keying. Parlant de telefonia es refereix al sistema Bell 202 per enviar el CID
  • BLF: Busy Lamp Field. Lums d'activitat de les linies en el telef d'operadora
  • TR069: estandard de intercanvi de info de configuracio
  • e100: extensio del SIP per respostes provisionals