Como configurar un teléfono CISCO Unified IP Phone 9951 con Elastix

Introducción.

El Cisco Unified IP Phone 9951 es un teléfono elegante con un display a color, excelente calidad en sus materiales, repleto de opciones y características, pero lograr que funcionara con elastix se estaba volviendo un dolor de cabeza. Al parecer este teléfono forma parte de una solución más completa llamada Cisco Unified Communications Manager ,aunque es posible usarlo con asterisk no esta pensado como para simplificar su uso con él.

En este artículo …

Arranque del teléfono

Fueron 2 días de googlear todo tipo de información en páginas y foros hasta que por fin logré que se conectara al conmutador Elastix. Si se llegan a topar un con este teléfono estos son los puntos que deben de cubrir.

Firmware.

Phone Information

Es un punto importante porque el firmware del aparato debe de soportar el estándar de comunicación SIP. En el caso del 9951 tiene instalada la versión 9.x y según los foros que he leído esta versión soporta sin problemas este protocolo de comunicaciones. En otros modelos es probable que sea necesaria una actualización del firmware.

Servidor TFTP.

TFTPd32

Anteriormente había configurado teléfonos Linksys, nada más sencillo que abrir su página web, configurarlos, guardar los cambios y listo.

Las cosas son muy diferentes con el 9951. Para empezar necesita de un servidor TFTP. Al momento de iniciar el teléfono (o reconectarlo a la red) obtiene su dirección IP de un DHCP y luego busca su archivo de configuración XML (que discutiremos más adelante) en el servidor TFTP, este le proporciona el archivo y si todo salio bien veremos un teléfono listo para hacer llamadas.

Phone not registered

Provisionalmente instalé el programa Tftpd32 en una computadora con Windows, mientras investigo como hacerlo en el mismo servidor Elastix.

Su configuración es mínima, en el mismo directorio donde se instalan los archivos del programa se copian los archivos de configuración del teléfono.

Configuración del DNS.

Este punto puede ser un poco complicado. Verán, junto con la información que proporciona el servidor DHCP (como la dirección IP, los DNS y todo eso), también se puede configurar para que proporcione la dirección IP del servidor TFTP de nuestra red. El mismo programa Tftpd32 tiene un servidor DNS que soluciona este punto ya que se apunta a si mismo como el servidor TFTP.

Pero no todos queremos eso, muchos ya tenemos un router o servidor DHCP que hace ese trabajo. Afortunadamente en IPCop solo es necesario agregar la opción tftp-server-name y decirle cual es la dirección IP, solo que tengan cuidado de poner entre comillas la dirección del servidor.

Configuración del DHCP server

Configuración de Elastix.

Lo primero es dar de alta una extensión de pruebas. Esto no tiene mayor complicación y es muy sencillo. Por ejemplo di de alta la extensión 99 con el nombre de Pruebas 9951.

Para que se registre correctamente el teléfono hay que modificar dos archivos en la configuración del servidor Elastix. Ambos archivos están en la carpeta /etc/asterisk/ pero es más sencillo editarlos usando la herramienta Asterisk File Editor que se encuentra en el menú PBXTools.

sip_custom.conf

A este archivo le vamos a agregar las siguientes líneas:

udpbindaddr=0.0.0.0
tcpenable=yes
tcpbindaddr=0.0.0.0
callcounter=yes
sip_custom

sip_custom_post.conf

Y a este otro lo siguiente:

[99]+
transport=tcp

Esta configuración es para la extensión 99, si tenemos más tenemos que declarar líneas similares, una por cada extensión. Básicamente le estamos diciendo a elastix que agregue (+) a la extensión 99 lo que se le indica.

sip_custom_post

Configuración del archivo XML.

Este es de los puntos más oscuros. Tomé como base archivo publicado en los foros de elastix[2] pero no funcionó. El articulo de Minden[1] menciona los parámetros básicos para lograr una conexión, pero no tiene un ejemplo para el 9951. Por último el artículo de Voip-info[3] menciona varios parámetros y los explica a detalle.

El archivo XML debe de tener un nombre especial formado con la Mac Address del dispositivo.

Ejemplo: Si la Mac Address del dispositivo es 1234567890AB el nombre del archivo sería,

SEP + Mac Address del dispositivo.cnf.xml

SEP1234567890AB.cnf.xml

Este archivo es el que se debe de copiar al servidor TFTP para que lo proporcione al teléfono durante su arranque.

Con esta información y revisando los logs de elastix hice un archivo de configuración base, espero que les sirva. Deben de sustituir los valores que puse en mayúsculas y entre corchetes por los apropiados para su instalación.

<device>
  <deviceProtocol>SIP</deviceProtocol>
  <sshUserId>admin</sshUserId>
  <sshPassword>cisco</sshPassword>
  <featurePolicyFile>DefaultFP.xml</featurePolicyFile>
  <devicePool>
    <dateTimeSetting>
      <dateTemplate>D/M/Ya</dateTemplate>
      <timeZone>SA Pacific Standard Time</timeZone>
      <ntps>


        <ntp>
          <name>[DIRECCIÓN IP DEL SERVIDOR DE HORA (NTP)]</name>
          <ntpMode>Unicast</ntpMode>
        </ntp>


      </ntps>
    </dateTimeSetting>
    <callManagerGroup>
      <members>
        <member priority="0">
          <callManager>
            <ports>
              <ethernetPhonePort>2000</ethernetPhonePort>
              <sipPort>5060</sipPort>
              <securedSipPort>5061</securedSipPort>
            </ports>


            <processNodeName>[DIRECCIÓN IP DEL SERVIDOR ELASTIX]</processNodeName>


          </callManager>
        </member>
      </members>
    </callManagerGroup>
  </devicePool>
  <commonProfile>
    <phonePassword/>
    <backgroundImageAccess>true</backgroundImageAccess>
    <callLogBlfEnabled>2</callLogBlfEnabled>
  </commonProfile>
  <loadInformation>sip9951.9-0-0-77</loadInformation>
  <vendorConfig>
    <disableSpeaker>false</disableSpeaker>
    <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
    <pcPort>0</pcPort>
    <settingsAccess>1</settingsAccess>
    <garp>0</garp>
    <voiceVlanAccess>0</voiceVlanAccess>
    <videoCapability>1</videoCapability>
    <autoSelectLineEnable>0</autoSelectLineEnable>
    <webAccess>0</webAccess>
    <spanToPCPort>1</spanToPCPort>
    <loggingDisplay>1</loggingDisplay>
    <loadServer/>
  </vendorConfig>
  <networkLocale>Spain</networkLocale>
  <networkLocaleInfo>
    <name>Spanish_Spain</name>
    <uid>64</uid>
    <version>1.0.0.0-1</version>
  </networkLocaleInfo>
  <deviceSecurityMode>1</deviceSecurityMode>
  <authenticationURL/>
  <directoryURL/>
  <idleURL/>
  <informationURL/>
  <messagesURL/>
  <proxyServerURL/>
  <servicesURL/>
  <dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
  <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
  <dscpForCm2Dvce>96</dscpForCm2Dvce>
  <transportLayerProtocol>4</transportLayerProtocol>
  <capfAuthMode>0</capfAuthMode>
  <capfList>
    <capf>
      <phonePort>3804</phonePort>
    </capf>
  </capfList>
  <certHash/>
  <encrConfig>false</encrConfig>
  <sipProfile>
    <sipProxies>
      <backupProxy>USECALLMANAGER</backupProxy>
      <backupProxyPort>5060</backupProxyPort>
      <emergencyProxy>USECALLMANAGER</emergencyProxy>
      <emergencyProxyPort>5060</emergencyProxyPort>
      <outboundProxy/>
      <outboundProxyPort/>
      <registerWithProxy>true</registerWithProxy>
    </sipProxies>

    <sipCallFeatures>
      <cnfJoinEnabled>true</cnfJoinEnabled>
      <callForwardURI>x--serviceuri-cfwdall</callForwardURI>
      <callPickupURI>x-cisco-serviceuri-pickup</callPickupURI>
      <callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
      <callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
      <meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
      <abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
      <rfc2543Hold>false</rfc2543Hold>
      <callHoldRingback>2</callHoldRingback>
      <localCfwdEnable>true</localCfwdEnable>
      <semiAttendedTransfer>true</semiAttendedTransfer>
      <anonymousCallBlock>2</anonymousCallBlock>
      <callerIdBlocking>2</callerIdBlocking>
      <dndControl>0</dndControl>
      <remoteCcEnable>true</remoteCcEnable>
    </sipCallFeatures>
    <sipStack>
      <sipInviteRetx>6</sipInviteRetx>
      <sipRetx>10</sipRetx>
      <timerInviteExpires>180</timerInviteExpires>
      <timerRegisterExpires>3600</timerRegisterExpires>
      <timerRegisterDelta>5</timerRegisterDelta>
      <timerKeepAliveExpires>120</timerKeepAliveExpires>
      <timerSubscribeExpires>120</timerSubscribeExpires>
      <timerSubscribeDelta>5</timerSubscribeDelta>
      <timerT1>500</timerT1>
      <timerT2>4000</timerT2>
      <maxRedirects>70</maxRedirects>
      <remotePartyID>false</remotePartyID>
      <userInfo>None</userInfo>
    </sipStack>

    <autoAnswerTimer>1</autoAnswerTimer>
    <autoAnswerAltBehavior>false</autoAnswerAltBehavior>
    <autoAnswerOverride>true</autoAnswerOverride>
    <transferOnhookEnabled>false</transferOnhookEnabled>
    <enableVad>false</enableVad>
    <preferredCodec>none</preferredCodec>
    <dtmfAvtPayload>101</dtmfAvtPayload>
    <dtmfDbLevel>3</dtmfDbLevel>
    <dtmfOutofBand>avt</dtmfOutofBand>
    <alwaysUsePrimeLine>false</alwaysUsePrimeLine>
    <alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
    <kpml>3</kpml>
    <natEnabled>false</natEnabled>
    <natAddress>[DIRECCIÓN IP DEL SERVIDOR ELASTIX]</natAddress>
    <stutterMsgWaiting>2</stutterMsgWaiting>
    <callStats>false</callStats>
    <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
    <disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
    <startMediaPort>10000</startMediaPort>
    <stopMediaPort>20000</stopMediaPort>
    <voipControlPort>5060</voipControlPort>
    <dscpForAudio>184</dscpForAudio>
    <dscpVideo>136</dscpVideo>
    <dscpForTelepresence>128</dscpForTelepresence>
    <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
    <softKeyFile>softkey.xml</softKeyFile>
    <dialTemplate>dialplan.xml</dialTemplate>


    <phoneLabel>[ETIQUETA DEL TELEFONO]</phoneLabel>


    <sipLines>
      <line button="1" lineIndex="1">
        <featureID>9</featureID>
        <featureLabel>[ETIQUETA DE LA EXTENSIÓN]</featureLabel>
        <name>[NUMERO DE EXTENSION]</name>
        <displayName>[ETIQUETA DE LA EXTENSIÓN]</displayName>
        <contact>[NUMERO DE EXTENSION]</contact>
        <proxy>USECALLMANAGER</proxy>
        <port>5060</port>
        <autoAnswer>
          <autoAnswerEnabled>2</autoAnswerEnabled>
        </autoAnswer>
        <callWaiting>3</callWaiting>

        <authName>[NUMERO DE EXTENSION]</authName>
        <authPassword>[CONTRASEÑA DE LA EXTENSION]</authPassword>

        <sharedLine>false</sharedLine>
        <messageWaitingLampPolicy>1</messageWaitingLampPolicy>
        <messagesNumber>*97</messagesNumber>
        <ringSettingIdle>4</ringSettingIdle>
        <ringSettingActive>5</ringSettingActive>
        <forwardCallInfoDisplay>
          <callerName>true</callerName>
          <callerNumber>false</callerNumber>
          <redirectedNumber>false</redirectedNumber>
          <dialedNumber>true</dialedNumber>
        </forwardCallInfoDisplay>
        <maxNumCalls>4</maxNumCalls>
        <busyTrigger>2</busyTrigger>
      </line>

      <line button="2">
        <featureID>21</featureID>
        <featureLabel>[ETIQUETA DE MARCADO RÀPIDO]</featureLabel>
        <speedDialNumber>[EXTENSIÓN O NUMERO DE MARCADO RÀPIDO]</speedDialNumber>
        <featureOptionMask>0</featureOptionMask>
      </line>

      <line button="3">
        <featureID>20</featureID>
        <featureLabel>Directorio</featureLabel>
        <serviceURI>TFTP:directorio.xml</serviceURI>
      </line>

    </sipLines>
  </sipProfile>
</device>

Esta es una lista de los valores que he estado modificando dentro del archivo XML.

Para especificar un servidor de hora:

<ntp>
<name>[DIRECCIÓN IP DEL SERVIDOR DE HORA (NTP)]</name>
<ntpmode>Unicast</ntpmode>
</ntp>

Indicar la dirección del servidor Elastix:

<processnodename>[DIRECCIÓN IP DEL SERVIDOR ELASTIX]</processnodename>

Etiqueta del teléfono (aparece en la esquina superior derecha de la pantalla):

<phonelabel>[ETIQUETA DEL TELEFONO]</phonelabel>

Información para la conexión de la extensión:

<name>[NUMERO DE EXTENSION]</name> <authName>[NUMERO DE EXTENSION]</authName>
<authPassword>[CONTRASEÑA DE LA EXTENSION]</authPassword>

Conclusiones

Todavía me falta mucho por hacer con este teléfono. Tengo pendiente pasarle una lista de teléfonos a manera de directorio, pero mientras tanto ya puede hacer y recibir llamadas.

Telefono conectado exitosamente a Elastix
Recibiendo una llamada

Actualización 2011-09-30

Acabo de encontrar otro archivo de configuración mucho más completo y que te da más funcionalidad al teléfono.

Cisco 9951 archivo de configuración XML

SEP012345679AB.cnf.xml.zip

Ahorita estoy investigando el uso de Open79xx XML Directory Este programa permite administrar una lista telefónica que carga automáticamente el teléfono.

Actualización 2012-06-05

Si durante las llamadas escuchan un beep de manera intermitente, por favor busquen este valor en el archivo xml de configuración y cambien su valor a cero.

<recordingTone>0</recordingTone>

Referencias

  • [1]Configure Cisco IP Phones with Asterisk Una excelente guía sobre los puntos que hay que cuidar para que funcione este teléfono. Lamentablemente no cubre al Cisco 9951 pero aún así dio algo de luz en el camino.
  • [2]TEMA: Cisco firmware SIP 9.x con Asterisk (9951 / 9971). Este fue el primer tema que ví. Lo malo de este artículo es que es muy escueto y muchas dudas las tuve que ir deduciendo.
  • [3]Asterisk phone cisco 79×1 xml configuration files for SIP. Lo valioso de este articulo es que explica muchos de los puntos de configuración del archivo XML que sirve para configurar el teléfono.

86 comentarios en «Como configurar un teléfono CISCO Unified IP Phone 9951 con Elastix»

  1. Buenas tardes,
    Mil gracias por el tutorial. Me ha sido de gran ayuda. Solo te ha faltado poner 1 para acceder a el telefono desde la IP.

    Saludos

    Responder
  2. Buenas tardes es posible que me puedan enviar los archivos de idioma para español, y si me pueden decir como solucionaron el percance de la hora. Gracias

    Responder
  3. !! Ya tengo 2 9971 funcionando tanto para llamdas como para Videollamadas, lo que no logro hacer es que funcione el puerto de PC, ya logre activarlo y alli conecte 1 portatil con puerto Giga, este da Link y todo, pero no me da direccion Ip del DHCP, que puedo revisarle al asunto este.. GRACIAS

    Responder
  4. asi es, estoy tratando de colocarlo en toda la oficina, pero lo del key extension se me ha hecho difícil encontrarlo, pero ya tu sabes cuando tenga la necesidad de instalar la camara me puedes excribir, y mil gracias por tu pronta repuesta.

    Responder
  5. Saludos linuxmanr4 como esta?

    Pude instalar la camara, pero ahora quiero poner a funcionar el key expansion module, tiene alguna idea como se hace eso

    Responder
  6. Saludos linuxmanr4
    como esta?

    Estoy intentando colocarle cámara a esto teléfono para hacer vídeo llamada,cree que sea posible, o tiene alguna idea de como hacerlo, el telefoneo que estoy usando es un 9971

    Responder
    • Hola jrfernandez,

      ¡Estoy bien! (gracias por preguntar). Ahora con respecto al teléfono lamento decirte que no tengo idea, verás, la cámara resultó que era un accesorio extra y no se compró, así que no tengo experiencia con la camarita para hacer video llamadas.

      Espero que no batalles mucho para hacerla funcionar con estos aparatos. Solo te comento que no los volvería a comprar para usarlos con Elastix, se diseñaron para un pbx CISCO y funcionan con voz, pero tienes que batallar demasiado, mientras que con otros aparatos es mucho más sencillo.

      Saludos.

      Responder
      • asi es, es muy dificil, ya solo me falta lograr activarle la camara en el archivo xml porue me dice que debe se habilitada por el administrador

        Responder
  7. Los actualice por las mejoras que trae el nuevo Firmware,,,a manera de curiosidad..pero ya que lo mencionas si no logro encontrar alguna solucion me va tocar hacer Rollback..

    Sigo googleando a ver si encuentro algo sobre el tema..

    !!!!

    Responder
    • Lo que pasa Leonel es que estos aparatos se diseñaron para trabajar con un PBX de la marca CISCO, de milagro los hacemos funcionar en Elastix. Así que mejoras en el firmware no necesariamente son mejoras para Asterisk o para Elastix.

      Aquí tienes que aplicar mucho eso de «Si no esta roto, no lo arregles».

      Saludos.

      Responder
  8. Hola..googleando..me encontre con este panel..

    Tengo un problema con 2 telefonos Cisco 7970G y 9971..la razon es que les actualice el FIrmware a la version 9.4…. y estos telefonos no cuelgan las llamadas al terminar..el canal queda activo.. en la version 8.5 que estaban trabajando no tenian ese problema…

    Que podra ser..
    Trabajo con 1 servidor Asterisk puro..

    Responder
    • Hola Leonel,

      Y disculpa, ¿No puedes regresar los teléfonos a la versión que tenían antes?

      ¿O porque los actualizaste?

      Saludos !!!

      Responder
  9. HOLA,
    Linuxman,

    Estoy intentando configurar un telefono de esto pero modelo CP-8961, con elastix, ya tengo las pbx creado y todo lo demas, , este archivo .xml me puede funcionar para este tipo de telefono,? cuales cambios tendria que hacerle en dado caso o que debo hacer porque intente aplicarlo pero no me funciona .

    Responder
    • Hola JRFernandez,

      No sabría decirte, físicamente parecen muy similares pero no te podría asegurar que con estos archivos (o modificandolos) vaya a funcionar. Pero tienes la esperanza de que al menos una persona ya lo ha hecho funcionar.

      Solo hay que averiguar como.

      Saludos !!!.

      Responder
      • Mil Gracias Linuxman, ahora tengo otra pregunta,
        en esta configuracion el usuario y password que estan colocado ahi, son los de la PBX o del telefono

        admin
        cisco

        Responder
        • Cuando das de alta la extensión le asignas un número y una contraseña… esas son las que pones en el archivo para que se autentifique ante el pbx.

          Responder
  10. Tienes razòn Linuxman, quizàs hice una modificaciòn en algunos de los paràmetros que no permitìa usar el telèfono como puente, cargue el archivo nuevamente haciendole modfificaciones solo en las parte de las IP y listo. Gracias por tu apoyo…

    Saludos

    Responder
    • Abusado, sobre todo lleva un control de las versiones, para que avances desde el paso anterior y no tengas que comenzar de nuevo. 🙂

      Responder
  11. Tengo la versión 2.4.0

    Estuve pensando y quizás el nombre de la extensión no se vé porque el teléfono no tiene un directorio telefónico cargado…

    Aún no sé como cargar el directorio telefónico, pero quizás el problema sea por eso.

    Responder
          • Si bueno, atacarè ese problema mas adelante, linuxman acabo de hacer otra prueba y me di cuenta que el telèfono no funciona como puente (switch), para conectar la maquina a internet,

            Modifique el paràmetro con el valor 1 pero no vi efecto.

            Si sabes como solucionar el problema por favor me lo haces saber, igual estoy investigando al respecto..

            Saludos

          • Jamás he tenido el problema que mencionas !!!! Tengo varios equipos conectados a su teléfono y funcionaron correctamente, a pesar de los muchos cambios de configuración que hice en los teléfonos. ¿Has probado resetearlos a su configuración de fábrica?

  12. Jejejejeje si lo de la hora ya es segundo plano para mi porque es como dices tù (la mayoria de las personas no toman en cuenta esos detalles), la tarea primordial de los telèfonos es hacer y recibir llamadas, por lo menos ese fue el requerimiento que me hicieron en la instituciòn (hacer llamadas, recibir llamadas, desviar llamadas en caso de que no se atienda una extensiòn y llamadas en espera). Elastix tiene muchas otras funcionalidades por configurar pero bueno ya eso serìa otra cosa. Agradecido totalmente LinuxMan de que hayas compartido este articulo con la comunidad, me fue de gran ayuda.

    Saludos

    Responder
  13. Al principio los editaba con Notepad ++ y despues los cargaba en el servidor tftp del elastix , luego los ultimos los estoy editando conectandome por acceso remoto al servidor con la herramienta putty y los edito con el editor NANO de centOs…

    No le he movido mas nada, solo las lineas para colocar el nombre de la extension, el numero de la extension, la clave de la extension, y la direccion IP del servidor Elastix.

    Responder
    • Te comento porque una vez batallé mucho con un teléfono, hacia los cambios y no se reflejaban en el teléfono. Incluso lo reseteaba a sus valores de fábrica y nada. La solución fue editar los archivos con Gedit y moverle lo menos indispensable a los archivos. En uno de los intentos cargó la configuración y ya no le he vuelto a mover en muuuuuucho tiempo. Si te fijas, este artículo inició en el 2011, jamás pensé que una disposición en Venezuela lo reactivaría.

      Hasta luego Harrison 🙂

      Responder
      • Hola linuxman disculpa que te moleste otra vez, despuès de tantas pruebas, me he dado cuenta que cuando yo realizo un llamada desde una extensiòn al telèfono cisco 9971, el mismo me muestra el nombre de la persona que esta llamando y el numero de la extensiòn. Cuando realizo el proceso inverso, es decir hago la llamada desde el telèfono Cisco 9971 a una extensiòn, el telèfono en la pantalla sòlo me muestra el numero de la extensiòn y no el nombre de la persona a la cual esta asociada esa extensiòn. Por favor si puedes dime cual es el paràmetro que debo cambiar en el còdigo XML para que si se pueda visualizar tanto el nombre de la extensiòn como el numero de la persona a la cual estoy llamando, te lo agradezco…

        Saludos.

        Responder
          • Crèeme que fue lo primero que hice y aùn no doy con el problema, esto si me interesa resolverlo porque las personas que llaman desde el telèfono necesitan ver el nombre de la persona a quien estàn llamando y ademàs su extensiòn. ):

          • Hice una prueba con mi teléfono y yo no tengo ese detalle, si acaso será que estoy usando Elastix 1 (porque no me ha fallado), supongo que tu tendrás la versión 2 instalada.

      • Ya resolvì lo del Nombre linuxman, ahora el telefono si esta operativo al 90% debido que aun tengo el problema con la hora pero ya eso es segundo plano para mi.

        Responder
        • Excelente Harrison, A fin de cuentas lo que importa es que se puedan hacer las llamadas, te puedo apostar a que casi nadie ve la hora del teléfono (salvo algunas excepciones) …

          Que bueno que terminaste con el trabajo 🙂

          Responder
  14. Si ya lo cambie y nada… Cuando hago ese cambio el teléfono no registra…
    Lo campos que esta mostrando son

    y

    pero

    no lo muestra en la pantalla del telefono.

    Responder
  15. Ya moviste el parámetro: ???

    <displayName>9951</displayName> 
    

    Cambia 9951 por lo que quieras que muestre. No estoy seguro si es lo que estás buscando.

    Responder
  16. El motivo por el cual deciden cambiar de Cisco Call Manager a Elastix, es por un decreto que hizo el Gobierno Nacional que dice que las instituciones Publicas (Es decir aquellas que pertenecen al Estado Venezolano) deben migrar sus sistemas a Software Libre (Open Source) y como sabemos Cisco Call Manager es un Software Privativo, por ende no cumplen con lo decretado por el Gobierno Nacional.

    Con respecto a los telèfonos Yealink, son mucho mas baratos que los Cisco, por ende la calidad es menor aunque son muy buenos con respecto a la calidad de la Voz. Tuve la oportunidad de realizar una llamada y esta se escuchaba perfectamente sin ninguna interferencia ni distorsion., Por otra parte no pude revisar a fondo el Yealink (A nivel físico), solo me mostraron como configurarlo y sincronizarlo con el Servidor Elastix (Proceso que es super sencillo es comparación con los Cisco).

    Saludo LinuxMan

    Responder
    • Woooow que interesante, bueno al menos así no tienen que cambiar todos los teléfonos sólo el conmutador.

      Suerte con tu migración Harrison 🙂

      Responder
    • Solo por curiosidad fui a tomar una foto a uno de los teléfonos 9951 que todavía tengo en funcionamiento …

      Hora correcta en el teléfono CISCO 9951

      y parece que tengo que tengo que ajustar la hora de mi reloj de pulsera

      Responder
      • Jajajajajaja dichoso tu que tienes tu Cisco 9951 sincronizado con la hora real. Yo aun sigo con el martirio.. ):

        Aprovechar que me escribiste Linuxman tengo un problema con el segundo archivo xml que subiste, quiero que muestre el numero de la extension en la parte superior y el nombre de la extension en el otro recuadro de abajo. Ahora eso me esta dando problema. (Solo en el segundo archivo que es el mas completo, en el primero si funciona correctamente).

        Si lo configuro tal cual como dice el archivo XML me muestra el numero de la extension en ambos recuadros(Algo que no tiene ciencia). La idea es que en el cuadro superior muestre el numero de la extension y en el otro el nombre de la extension.

        Por favor ayudame.

        SALUDOS

        Responder
  17. Hola LinuxMan

    Intente cambiando el archivo ntp.conf, que se encuentra en el servidor elastix sustituyendo los servidores que me dejaste en el comentario por los que están por defecto, pero aun no cambia a la hora real de mi país, realmente tendré que optar por usar un servidor NTP aparte del servidor Elastix, por los momentos solo estoy haciendo pruebas con un solo teléfono (Cisco 9971), pero mi proyecto comprende todos los teléfonos de la empresa para la cual estoy laborando, que son como 50 de ese mismo modelo. Por los momentos el teléfono arranca perfectamente y puedo hacer llamadas sin ningún inconveniente, inclusive he programado el desvío de llamadas desde la interfaz del Elastix en caso de que no se atienda el teléfono, eso es importante en la empresa que trabajo, logré sincronizarlo con la zona horaria de México, la diferencia de hora entre ese país y Venezuela es de solo 30 min, lo he dejado así (por los momentos), ya que me tengo que dedicar también a la actualización del Fimware del Cisco 7911, que son como 200 más jajajaja. Si Tienes algún articulo respecto a la actualización del Fimware del 7911 para mi sería de gran ayuda de verdad. Otra cosa con respecto al directorio del 9971, como hago para que funcione? Veo que en el archivo XML hay un bucle con respecto a eso:

    20
    Directorio
    TFTP:directorio.xml

    pero no se como cargarlo ni configurarlo….

    Si podrías ayudarme con eso, estaré full agradecido…

    Y disculpa tanta molestía Brot’

    Saludos

    Responder
    • Veo que has investigado y sabes bastante sobre estos teléfonos, yo ya no trabajo para la empresa y los dejé a los teléfonos con la hora mala, pues me resigné. Con respecto a las conferencias y el desvío de llamada no los pude hacer funcionar tampoco, porque por ejemplo la conferencia necesitaba cambiar la versión del asterisk y no tenía acceso a ello así que se lo dejé al que levantó el servidor.
      Linuxman me ha ayudado bastante, de hecho él lo ha hecho todo, yo solo leí este artículo…

      Saludos

      Responder
      • Hola Pablo

        Bueno lo que sè lo he investigado en internet mediante foros y paginas de Elastix, en realidad cuando empecè no tenia ni idea de que era Asterisk, pero bueno poco a poco he ido aprendiendo, yo no quisiera dejar el telèfono asì, porque quisiera dejar un trabajo limpio, mi ultima opciòn es montar un servidor NTP aparte y poner los telèfonos a aputar a dicho servidor (Ya seria mi ultima opciòn). Hoy voy a actualizar el Fimware del Cisco 7911 con el protocolo SIP a ver que tal va, ya consegui los archivos en la pagina de Cisco. Espero vaya bien…

        Sabes como activar el directorio en el Cisco 9971??

        Saludos

        Responder
        • El problema principal es que tanto ustedes como yo elegimos un teléfono CISCO que se diseño para un Conmutador CISCO. Todo lo que mencionan ustedes debería de funcionar si tuvieramos el PBX de la misma compaía, pero me asusta saber el costo de dicho aparato y las licencias (si es que las tiene). Si les sirve de ayuda, el teléfono Linksys SPA922 es una chulada de aparato, quizas no estan «llamativo» como el 9951 pero funciona de maravilla con Elastix.

          Si quieren seguir con el tema del NTP lo primero que deber de revisar es si esta funcionando, pueden intentar comprobarlo con una computadora, en linux hay un comando para actualizar la hora usando un servidor NTP específico.

          ntpdate -u 0.pool.ntp.org

          donde 0.pool.ntp.org es el servidor ntp que quieren probar.

          Si funciona entonces revisaremos la zona horaria y a lo mejor el horario de verano (aunque me parece raro que el desplazamiento solo sea de media hora y no de una hora completa).

          Lo del directorio, una vez logré algo instalando algo que decía OpenXML, pero parece que ya no existe. Era o es algo parecido a esto: http://sourceforge.net/projects/open79xxdir/

          Nuevamente les recomiendo editar los archivos de configuración en linux usando gedit y modificarlos lo menos posible, no agregarle espacios, no formatearlos para que se vean bien… solo cambiar lo que sea necesario, se que suena ridículo, pero a mi me ha funcionado.

          Suerte y me avisas cualquier novedad 🙂

          Responder
          • Hola LinuxMan

            Mi problema es que mi proyecto està enfocado a un instituciòn en la cual esta operativo actualmente el Cisco Call Manager, el cual gestiona los Telefonos Cisco 9971 y Cisco 7911 que en total son como 300. No tengo alternativa en cuanto a otras marcas de telèfonos para usar, ya que el acuerdo fue migrar a Elastix usando los mismo Telèfonos. Hice una visita a otra instituciòn para buscar un poco de ayuda con respecto a esto, y allà usan Elastix con Telèfonos de la marca Yealink, el cual es una maravilla, ya que solo configuras la extension SIP en la interfaz de Elastix y despues escribes la direcciòn ip que le asigna el DHCP al telèfono en el navegador Web y haces toda la configuraciòn a travès de su interfaz gràfica, son una pasada y super sencillos de operar.

            Con respecto a lo de NTP ejecute el comando que me dejaste en mi consola de centOs y actualizò la hora de acuerdo a unos de los Servidores NTP mas cercanos a mi zona, inclusive muestra la ip del servidor al cual se conectò. Como prueba coloquè esa IP de ese servidor en el archivo XML del telefono pero aun nada. Realmente ya esto me esta sacando la piedra jajajaja. Lo mas importante es que el telèfono si realiza llamadas sin ninguna novedad.

            Por los momentos lo dejarè asi, hasta que consiga una soluciòn, ahora me dedicarè a actualizar el fimware del 7911 que tambien son un hueso, por lo que he leido en la WEB.

            Agredecido LinuxMan, este articulo me ha ayudado muchisimo, que bueno que lo hayas conpartido con todos.

            Cualquier novedad te informo.

            SALUDOS

          • Disculpa Harrison, ya es curiosidad… si tenían el Cisco Call Manager ¿Por que cambiarlo a Elastix?

            Y una duda más, ¿Qué calidad tienen los teléfonos Yealink? los cisco tienen buen plástico y sus microfonos y bocinas son muy buenos, estos ¿Que tal están?

            Saludos !!! 🙂

  18. Bueno en resumen el servidor NTP esta funcionando correctamente en la computadora con linux que esta en la red y lo sé porque lo comprobé desde mi pc con windows 7 y si actualiza los datos de la hora de forma correcta (GMT -03:00) así que el teléfono es el que no logra tomar esos datos… no tenemos horario de verano y la hora del telefono se muestra con la hora del gmt

    ya intente poniendo el timeZone en SA Eastern Standard Time y hasta probe con otras formas pero nada

    saludos

    Responder
    • Hola amigo, soy de Venezuela, también tengo el mismo problema con respecto al servicio NTP, el teléfono logra configurar la fecha correcta pero la hora no, la diferencia que existe entre la hora que toma el teléfono y la hora real es de 30 minutos. Quisiera saber si lograste algo con eso y si por favor podrías compartirlo..

      Responder
        • Hola Linuxman

          Gracias por responder, ya he probado muchas zonas horarias y no logro coincidir con la de mi pais (Venezuela), estoy montando el archivo de configuracion XML en el servidor TFTP del Elastix, estoy virtualizando usando VirtualBox. La fecha que muestra el telefono es la correcta mas NO la hora, en el archivo de configuracion lo que estoy alterando con respecto a esto de la hora, es la parte que dice … >/timezone>, colocando varias de las zonas horarias que publicaste en una de las respuestas a Pablo. Coloco la zona de sur america pero no es la correcta, y he probado con varias y la hora que muestra el telefono si cambia pero no logro coincidir con la de Venezuela.

          En la Parte de NTP coloco la direccion IP del servidor ELASTIX, asi como tu lo especificaste. Lo que no logro entender es porque el telefono no sincroniza con la hora del servidor elastix que si esta correcta.

          Si puedes ayudarme, te lo agradezco.
          Saludos

          Responder
          • No amigo, el servidor ntp que yo tengo NO es el servidor elastix, tengo un servidor NTP propio en mi red.

            Intenta con alguno de estos… http://www.pool.ntp.org/es/zone/ve

            Y me cuentas que pasó,

            Saludos. !!!

  19. Bien Pablo !!! mira que eso de poner los teléfonos en español si fue complicado. Como mis usuarios no tienen problema con el inglés no fue una prioridad para mi.

    Te dejo una lista de los Timezone que acepta este teléfono:

    http://paste.linuxmanr4.com/view/eeff8280

    Ahora, ¿los teléfonos tienen permisos para salir a internet? yo no tengo ese problema porque tengo un servidor NTP local que es el que sirve la hora a todos mis dispositivos sin necesidad de salir a internet, por eso no he tenido ese problema.

    Saludos !!! 🙂

    Responder
    • ¿Cómo hago para saber si tienen permisos para salir a internet? Y si no lo tienen, ¿como creo un servidor ntp local?

      Gracias por responder, saludos.

      Responder
      • Bueno se con linux, jojojojoo sería algo así…

        sudo ntpdate -u 0.pool.ntp.org 
        

        Si falla o tiene éxito lo sabría.

        El servidor NTP que tengo forma parte de IPCop (linux), así que no tuve que hacer nada más que configurarlo y usarlo.

        Ánimo ya estás un paso más cerca 🙂

        Responder
        • Buenas linuxman, he levantado un servidor NTP y un TFTP desde una pc con linux en la red, y los teléfonos ya toman los archivos del servidor TFTP de esa computadora pero aún no logro hacer que la hora se actualice 🙁 he probado dicho servidor NTP en la computadora que estoy usando ahora (con Windows 7) y funciona correctamente, ¿tu que crees que sea?
          No hay lugar para resignarme jaja, perdón por ser tan molesto con el tema, pero los teléfonos son para una empresa de talla enorme con cientos de empleados, aún así los teléfonos irán para unas 20 personas, pero quisiera que salgan de aquí funcionando correctamente.

          Saludos!

          Responder
          • Hola Pablo,

            Veamos el NTP, ¿Que tan mal esta la hora? horas? minutos? ¿Qué zona horaria estas utilizando? y cual es tu ubicación. ¿Tienen horario de verano? … Estas seguro que la hora del servidor NTP es la correcta?

  20. Agradezco mucho este post porque me salvó la vida y la de la empresa para la que trabajo… Tengo varias dudas eso sí, se puede hacer que el servidor de Elastix sea un servidor tftp en donde yo cuelgue los archivos por si el teléfono se apaga y necesita encontrar los archivos de nuevo? ¿como se hace?
    se puede configurar para que funcionen las llamadas en conferencia?
    para que sirve el Open79xx XML Directory? como funciona?

    Responder
    • Hola Pablo,

      Que bueno que el artículo te fue de utilidad y veo que tienes muchas preguntas.

      Sobre el servidor tftp, es posible hacerlo, solo que no se como, cuando se me ofreció hacerlo usé un servidor windows y solo le dije al servidor DHCP que si alguien preguntaba por un archivo de configuración apuntara a ese servidor. Funcionó bien la primera vez y ya no le moví al servidor Elastix, pero consulta en google como dar de alta un servidor TFTP en Centos, supongo que es muy similar.

      Las conferencias no he logrado que funcionen, afortunadamente tengo muuuuy pocos teléfono CISCO, que en realidad se hicieron para un conmutador de la misma marca
      .
      XML directory es para pasarle un directorio telefónico al teléfono, ya no investigué mucho, porque como te digo no tengo muchos teléfonos de estos. Lo hice funcionar una vez, pero fue hace mucho tiempo.

      Saludos !!!

      Responder
      • Muchas gracias por responder Linuxman. He estado investigando y para hacer funcionar las llamadas en conferencia es necesario aplicar un parche a la instalación del Asterisk e instalarlo parchado, no me arriesgaré a hacerlo por ahora… Y sobre el servidor TFTP he encontrado una forma que aparece en este artículo: http://www.minded.ca/2009-12-16/configure-cisco-ip-phones-with-asterisk/
        Pero no logro entender como proceder ya que todo esto lo estoy haciendo desde una computadora con windows, y accedo al Elastix con Google Chrome, osea que no tengo acceso al sistema que tiene corriendo el Elastix (que creo que tiene CentOS), tampoco suelo usar mucho linux, cuando vine el sistema Elastix ya estaba instalado.

        Ahora te hago una pregunta pasajera, tienes alguna idea sobre esta parte del archivo SIP.cmf.xml en la cual indica la locación del usuario. ¿Se podrá poner el teléfono en español?

        English_United_States
        1
        en_US
        1.0.0.0-1
        iso-8859-1

        United_States

        United_States
        5.0(2)

        También en la parte de:


        [Dirección IP del servidor NTP]
        Unicast

        Pongo ntp.mamalibre.com.ar pero siempre dice «Time zone data download failed.» Y son las 10:11 am pero el teléfono marca 1:11pm

        Perdón por tantas preguntas pero es que soy nuevo en esto y leyendo en foros no pude llegar a encontrar todas las respuestas, y si no las tienes tú pus que va, ya me has ayudado bastante con este artículo. Saludos

        Responder
        • Hola Pablo,

          El TFTP sirve para que el teléfono pueda descargar el archivo de configuración. El nombre de archivo tiene que ser igual al hostname del teléfono, algo más o menos así:

          SEP001234567890.cnf.xml

          El problema es que en tu servidor DHCP tienes que especificar que estas usando un servidor TFTP (lo puedes instalar en un servidor windows), así cuando enciendas el teléfono sabrá su dirección IP, Gateway y TFTP, al saber la dirección le preguntará a esta si tiene un archivo de configuración, si existe, se lo proporciona y listo .. tu teléfono bootea ya configurado.

          … tampoco suelo usar mucho linux, cuando vine el sistema Elastix ya estaba instalado.

          Si vas a administrar un conmutador de estos te recomiendo que vayas empezando a aprender, si no te vas a ir a oscuras mucha parte del camino.

          ¿Se podrá poner el teléfono en español?

          No lo creo, hace tiempo lo intenté, pero no encontré nada que fuera de utilidad.

          También en la parte de: – [Dirección IP del servidor NTP] Unicast
          Pongo ntp.mamalibre.com.ar

          Mejor prueba con un servidor NTP de pool.ntp.org y ajustar la etiqueta:

          SA Pacific Standard Time

          Si es necesario, no se cual sea la zona horaria adecuada para el lugar en que vives. Si buscas en google creo que existe una lista con los textos de timezone que acepta el teléfono.

          Y si te puedo dar un consejo, mejor prueba con los teléfonos Linksys SPA922, no son tan vistosos pero no dan tantos problemas como los CISCO.

          Saludos !!!

          Responder
          • Ya he logrado poner el teléfono en español, se necesitó de archivos aparte como gh-ip.jar y g4-tones.xml que se deben ubicar dentro del servidor TFTP en carpetas llamadas Spanish_Spain/gh-sip y Spain/g4-tones.xml de ese modo logré poner los teléfonos en español correctamente… Espero no te moleste pero compartiré la dirección web de donde descargué el archivo que contiene esos archivos y también los de todos los idiomas… http://filemare.com/es-ar/browse/83.242.249.209/Cisco/CUCME/cme-full-10-5-locale.rar

            Ahora sobre la hora de los teléfonos, lo he intentado todo y no logro actualizarlo… Me he descargado el archivo tzupdater.jar (la última version, que es el archivo de configuracion del timezone) y he logrado hacer que lo tome al archivo pero aún así la hora no se actualiza (la fecha está bien pero la hora no, por ejemplo aquí son las 11:24 am y el teléfono marca 2:24 pm)

            En la parte de:

            CMLocal
            D/M/Ya
            South America Standard/Daylight Time

                <ntp>
                  <name>170.155.148.1</name>
                  <ntpMode>Unicast</ntpMode>
                </ntp>
            
              </ntps>
            </dateTimeSetting>
            

            Soy de argentina y tomé un servidor ntp de Argentina (de pool ntp), puse la IP de ese servidor como se ve allí pero nada sucede, he intentado con varias ip así como poniendo el nombre del servidor (ej: 1ntp.ar.pool.com) … También intenté poniendo la Ip del servidor elastix, cambiando el timezone a SA Eastern Standard Time y al que ves ahora pero nada, la hora sigue igual, ¿a tí te ha funcionado?

            Saludos

          • Pablo amigo me gustaría ponerme en contacto contigo para saber como podría cambiar el idioma a español a los teléfonos, tengo unos cuantos 7945G, 7960G y 7911G, veo una guía de cisco que dice que tengo que ingresar al dispositivo para copiar el locale (en TAR) a traves de tftp dentro de la carpeta «its» y aplicar un comando, y luego hacer referencia en el archivo de configuración pero no logro hacerlo, ni siquiera puedo ingresar via ssh o telnet…

  21. Hola:

    Muchas gracias por compartir, pero podrías ser tan amable de compartir nuevamente tu archivo XML pues dropbox no está disponible. GRACIAS!

    Responder
  22. [2]TEMA: Cisco firmware SIP 9.x con Asterisk (9951 / 9971). Este fue el primer tema que ví. Lo malo de este artículo es que es muy escueto y muchas dudas las tuve que ir deduciendo.

    Sin este articulo nunca hubieras podido configurar tu telefono

    Responder

¡Me encantaría saber que opinas!

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.