spa400 en elastix

Discussion in 'Elastix 2.x' started by faggi, Feb 12, 2010.

  1. faggi

    Joined:
    Feb 12, 2010
    Messages:
    5
    Likes Received:
    0
    hola son nuevo en el foro y tengo una consulta respecto al spa400 contra el elastix, el drama que tengo es que lo configuro por sip contra elastix y todo ok puedo tomar linea y entran llamadas ahora el drama que tengo es el siguiente como hago para identificar las lineas?
    ya que las toma aleatoriamente.
    he probado con eso de cambiarle el firmware a 1.2(spa400) y colocarle nombre a las lineas pero no consigo que elastix se de cuenta de que linea es cual.
    si pudieran ayudarme gracias
     
  2. fmvillares

    Joined:
    Sep 8, 2007
    Messages:
    1,785
    Likes Received:
    0
    olvidate de poder hacer facilmente eso con los spa, son equipos que no son para asterisk sino para el lvs de cisco...pero ya una vez habia escuchado de esto y te paso la solucion aunque no es para newbies...
    copio textual de la lista de correos


    "Para los que han comprado un Linksys SPA400 espero que esto le sirva y para los que puedan ayudarme espero sus respuestas:

    Problemas:
    1. El SPA400 no se puede distinguir las líneas entrantes 2. El SPA400 no puede hacer routing, o sea que no se puede escoger cuál línea o puerto escoger para hacer las llamadas.

    Solución:

    1. Esto ya está en los foros y se puede encontrar fácilmente.
    Crear un context en extensions_custom.conf con lo siguiente:

    [custom-get-did-from-sip]
    exten =>_.,1,Goto(from-trunk,${CUT(CUT(SIP_HEADER(To),@,1),:,2)},1)

    En la parte de Trunk en Incoming Setting poner:
    context=custom-get-did-from-sip

    con esto podran sacar el DID del nombre del puerto en el SPA400

    2. No puedo creer que no he podido encontrar información sobre esto, todo el mundo dice, no se puede... imposible... pero después de muchas muchas horas leyendo el nuevo firmware pude sacar la conclusión que esto es posible ahora.

    La solución:
    - Actualizar el nuevo firmware en
    http://www.cisco.com/public/sw-center/index.shtml
    - Una vez que hayan esto esto ahora podrán indicarle al SPA400 cuál línea utilizar agregando el prefix L1, L2, L3, L4 siendo así indicando si es linea 1, 2, 3 o 4.

    Ahora el problema que tengo es: NO se puede agregar un prefix con letras, yo podría crear 4 trunks, con los 4 prefixes, sin embargo no logro hacerlo porque el freepbx no lo permite porque te da error, si lo puedo hacer funcionar agregandolo directamente al extensions_additional.conf, pero como ustedes saben, esto no sirve para nada debido a que este archivo es actualizado cada vez que se modifica el freepbx.
    "

    moraleja en mi caso que trabajo ya hace muchos años, por unos dolares mas comprar equipos de verdad como quintum o audiocodes o patton en vez de estos juguetes...

    saludos y espero te sirva
     
  3. javapaul

    Joined:
    Jul 1, 2009
    Messages:
    99
    Likes Received:
    0
    que pena contrariarte en esto yo tengo 5 spa400 de los cuales dos los tengo trabajando con lineas individuales, osea que puedo elegir por cual puerto quiero que salgan, solo implementa este contexto, claro que tienes que acomodarlos a los parámetros de elastix.

    Code:
    [spa400linea1]
    exten => _3[1-2][0-4]XXXXXXX,1,Macro(user-callerid,SKIPTTL,)
    exten => _3[1-2][0-4]XXXXXXX,2,Set(LIMIT_WARNING_FILE=beep)
    exten => _3[1-2][0-4]XXXXXXX,3,Set(TRUNK_OPTIONS=tTwWL(210000:60000))
    exten => _3[1-2][0-4]XXXXXXX,n,Set(_NODEST=)
    exten => _3[1-2][0-4]XXXXXXX,n,Set(numero_marcado=${EXTEN})
    exten => _3[1-2][0-4]XXXXXXX,n,Macro(record-enable,${AMPUSER},OUT,)
    exten => _3[1-2][0-4]XXXXXXX,n,Macro(dialout-trunk,[b]20[/b],[b]L1[/b]${EXTEN},,)
    exten => _3[1-2][0-4]XXXXXXX,n,Macro(outisbusy,)
    
    donde L1 es el canal que quieras que salgan, y 20 es el numero que asterisk le dio al trunk del spa400 este debe ser diferente para tu sistema. aunque siempre tengo problemas debes en cuando, no es 100 fiable


    ps ARG revivi un post de hace 4 semanas :/
     
  4. fmvillares

    Joined:
    Sep 8, 2007
    Messages:
    1,785
    Likes Received:
    0
    exacto esa solucion es conocida , no es para contrariar ni nada, solo que cisco smb no esta hecho para asterisk...y no es la mejor solucion por ahi rondando...si todo lo tengo que hacer por soft y el equipo no hace nada....mmmm...el sfirmware ya hace mas de 1 año ni se actualiza...no tiene validacion de users...la calidad de sonido no es la mejor aun en lineas de calidad mos 4.5 o mas...y encima no son baratos asi que descartes IMHO!!! saludos
     
  5. javapaul

    Joined:
    Jul 1, 2009
    Messages:
    99
    Likes Received:
    0
    En eso si estamos de acuerdo, todo lo tiene que hacer el soft y la calidad de llamada no es la mejor que digamos, lo tengo trabajando con canales individuales pero con problemas, uno de ellos es que el canal queda abierto después de colgar :/, un aparato muy inestable, voy a probar el GXW410X a ver como me va.
     
  6. tequeterequeteque

    Joined:
    Jan 13, 2011
    Messages:
    1
    Likes Received:
    0

    Me podrías ayudar paso a paso con esta configuración, tengo ya creada la troncal para hacer llamadas a traves de las lineas metidas en el SPA400, y tengo una ruta saliente que me dice que salga por aquí, debo crear una ruta saliente por cada linea del SPA400?
    como le indico en la Ruta por que puerto debe salir, estoy usando elastix 1.6, asterisk 1.6 y freepbx 2.8

    Disculparas, que soy bien novato en este mundo
     
  7. eterno76

    Joined:
    Jan 22, 2011
    Messages:
    2
    Likes Received:
    0
    Yo tengo el mismo problema con un spa400 me pueden apoyar con este detalle cual fue la solucion?
     
  8. faggi

    Joined:
    Feb 12, 2010
    Messages:
    5
    Likes Received:
    0
    con esta cfg el spa anda perfecto

    [from-internal-custom]
    exten => 1234,1,Playback(demo-congrats) ; extensions can dial 1234
    exten => 1234,2,Hangup()
    exten => h,1,Hangup()
    include => agentlogin
    include => conferences
    include => calendar-event
    include => salida
    include => incoming
    include => app-pickup-custom

    con esto le decimos que salga por l3 si toca antes 9 0 83, y si toca 1 lo mandamos por L1

    [salida]
    exten => _XXXX,1,Macro(user-callerid,SKIPTTL,)
    exten => _XXXX,n,Set(_NODEST=)
    exten => _XXXX,n,Macro(record-enable,${AMPUSER},OUT,)
    exten => _XXXX,n,Macro(dialout-trunk,2,L2${EXTEN},,)
    exten => _XXXX,n,Macro(outisbusy,)
    exten => _1XX,1,Macro(user-callerid,SKIPTTL,)
    exten => _1XX,n,Set(_NODEST=)
    exten => _1XX,n,Macro(record-enable,${AMPUSER},OUT,)
    exten => _1XX,n,Macro(dialout-trunk,2,L1${EXTEN},,)
    exten => _1XX,n,Macro(outisbusy,)
    exten => _9XXXX,1,Macro(user-callerid,SKIPTTL,)
    exten => _9XXXX,n,Set(_NODEST=)
    exten => _9XXXX,n,Macro(record-enable,${AMPUSER},OUT,)
    exten => _9XXXX,n,Macro(dialout-trunk,2,L3${EXTEN},,)
    exten => _9XXXX,n,Macro(outisbusy,)
    exten => _83XXXX,1,Macro(user-callerid,SKIPTTL,)
    exten => _83XXXX,n,Set(_NODEST=)
    exten => _83XXXX,n,Macro(record-enable,${AMPUSER},OUT,)
    exten => _83XXXX,n,Macro(dialout-trunk,2,L3${EXTEN},,)
    exten => _83XXXX,n,Macro(outisbusy,)

    [custom-get-did-from-sip]
    exten =>_.,1,Goto(from-trunk,${CUT(CUT(SIP_HEADER(To),@,1),:,2)},1)

    aca le decimos que tal LN suene en taaal interno del asterisk
    [incoming]
    exten => spa400,1,Set(TOLINE=${SIP_HEADER(To)})
    exten => spa400,n,Set(FROMLINE=${SIP_HEADER(From)})
    exten => spa400,n,Set(TOLINE=${CUT(TOLINE,:,2)})
    exten => spa400,n,Set(FROMLINE=${CUT(FROMLINE,:,2)})
    exten => spa400,n,Set(INCOMINGLINE=${CUT(TOLINE,@,1)})
    exten => spa400,n,Set(CLID=${CUT(FROMLINE,@,1)})
    exten => spa400,n,Noop(${INCOMINGLINE})
    exten => spa400,n,Noop(${CLID})
    exten => spa400,n,Set(CALLERID(name)=PSTN)
    exten => spa400,n,Set(CALLERID(num)=${CLID})
    exten => spa400,n,Goto(incoming,${INCOMINGLINE},1)
    exten => L1,1,Dial(SIP/201,,tT)
    exten => L2,1,Dial(SIP/200,,tT)
    exten => L3,1,Dial(SIP/203,,tT)
    exten => L4,1,Dial(SIP/202,,tT)

    espero les sirva yo anduve mucho tiempo para hacerlo andar pero ahora vuela,aa el unico drama que hay con este sistema es qeu en las pstn no pasa el callerid pero eso lo solucionan si colocan bases telulares ahi si tiene callerid salu2.....
     
  9. Carlos Vaquedano

    Joined:
    Mar 21, 2011
    Messages:
    14
    Likes Received:
    0
    a nivel de spa400 debo de modificar algo? tambien en el freepbx donde cree la troncal debo mover algo???

    me refiero a nombres de usuarios o a al register string o algo parecido.
     
  10. vascojuan1979

    Joined:
    Jan 21, 2011
    Messages:
    10
    Likes Received:
    0
    Los SPA400 no llevan registro ni llevan siquiera password...solo la linea de user y el string de invite y autenticacion
     
  11. Carlos Vaquedano

    Joined:
    Mar 21, 2011
    Messages:
    14
    Likes Received:
    0
    bueno yo configure el spa400 con estas instrucciones:
    Configurando Asterisk con FreePBX
    Acceder a la configuración de troncales
    Agregar una troncal SIP
    En Dial Rules poner las reglas de marcación correspondientes, por ejmplo 04555XXXXXXXX para que deje pasar todos los números de celular en México DF .
    TrunkName spa400, si este dato cambió en el User ID del SPA400 también cambiarlo aquí.
    PEER Details:
    type=friend
    user=spa400
    host=192.168.1.106
    dtmfmode=rfc2833
    canreinvite=no
    context=from-pstn
    insecure=very
    user si este dato cambió en el User ID del SPA400 también cambiarlo aquí.
    host: Es muy importante que aquí se asigne la IP que tiene el SPA400, esto ya que Asterisk requiere conocer la IP a dónde enviará las peticiones de marcación de números foráneos.
    Registrando Asterisk con el SPA400
    Register Sgtring
    spa400@192.168.100.123/spa400
    Si el usuario no es spa400 en el user ID SPA400 entonces cambiarlo, poner la IP del SPA400.
    Guardar.

    por eso fue la pregunta.
     
  12. fmvillares

    Joined:
    Sep 8, 2007
    Messages:
    1,785
    Likes Received:
    0
    por eso ni siquiera password tiene solo una linea de autenticacion con insecure very...como dicen en madrid una ñapa a los estandares de hoy
     
  13. Carlos Vaquedano

    Joined:
    Mar 21, 2011
    Messages:
    14
    Likes Received:
    0
    :S bueno ya pude indentificar las entrantes y apuedo poner dos diferentes ivr segun el puerto por donde esten entrando las llamadas al spa400 ahora me fije que no puedo hacer llamdas salientes. esta es lo que tengo en la truncal:

    este es mi Dial Patterns:

    25XXXXXX (local)
    3XXXXXXX (mobil)
    8XXXXXXX (mobil)


    truck name: spa400

    PEER Details:
    allow=ulaw
    call-limit=50
    disallow=all
    incominglimit=1
    nat=never
    port=5060
    qualify=yes
    type=friend
    user=SPA400
    host=192.168.1.135
    dtmfmode=rfc2833


    user detail
    context=custom-get-did-from-sip
    type=friend
    host=192.168.1.135
    fromdomain=192.168.1.135

    register string
    SPA400@192.168.1.135/SPA400
     
  14. fmvillares

    Joined:
    Sep 8, 2007
    Messages:
    1,785
    Likes Received:
    0
    pensa un poquitooo...lee el archivo allow 1ero y lueog negas all...eso que hace?
     
  15. Carlos Vaquedano

    Joined:
    Mar 21, 2011
    Messages:
    14
    Likes Received:
    0
    ok si es un poco confuso (mas para mi que soy novato) pero yo solo me guio de lo que leo

    mira esto tomado del manual "Comunicaciones_Unificadas_con_Elastix_Volumen_1.pdf":

    Troncales de tipo IAX y SIP

    Además de las configuraciones arriba especificadas, se deben especificar
    configuraciones entrantes y salientes que generalmente son especificadas por el
    proveedor de servicios de voz. Las configuraciones pueden incluir username, password,
    codec utilizado, el host con el cual debe de registrarse, etc.

    Ejemplo de configuración de los detalles del Peer:
    allow=ulaw&alaw&gsm&ilbc&g726&adpcm&lpc10
    canreinvite=no
    disallow=all
    dtmfmode=info
    fromuser=myusername
    host=nyc.voicepulse.com
    qualify=5000
    secret=mypassword
    sendrpid=yes
    type=peer
    username=myusername

    Además es posible que se requiera una cadena de registro que tiene la siguiente sintaxis:

    myusername:mypassword@host.

    entos si un manual me dice que lo haga asi que puedo hacer yo como novato??

    dime como deberia de ser para poder sacar mis llamadas?
     
  16. fmvillares

    Joined:
    Sep 8, 2007
    Messages:
    1,785
    Likes Received:
    0
    asi es el libro comunicaciones unificadas tiene muchas cosas mal adrede para que los lumnos razonen nu poco y estudien....
    la pagina biblia de todo es voip-info.org
    siempre se niega 1ero y se acepta despues....
     
  17. Luis Diego

    Joined:
    Nov 1, 2010
    Messages:
    237
    Likes Received:
    0
    Todo es a nivel del freepbx, no tienes k modificar nada en tu spa400
     
  18. Carlos Vaquedano

    Joined:
    Mar 21, 2011
    Messages:
    14
    Likes Received:
    0
    :( me toca hacer todo otra vez porque ahora ya ni tengo llamadas entrantes ni tengo s llamdas salientes :s

    gracias a todos por la ayuda estoy aprendiendo bastantes a ver que tal me va.

    cualquier consejo para hacerlo bien nuevamente sera bienvenida
     
  19. Carlos Vaquedano

    Joined:
    Mar 21, 2011
    Messages:
    14
    Likes Received:
    0
    Bueno resetie mi spa400 y ahora tengo el problema que no puedo hacer llamdas entrantes (ni salientes) bueno este es el log cuando llamo desde afuera:



    == Using SIP RTP TOS bits 184
    == Using SIP RTP CoS mark 5
    -- Executing [SPA400@from-sip-external:1] NoOp("SIP/localhost-00000006", "Received incoming SIP connection from unknown peer to SPA400") in new stack
    -- Executing [SPA400@from-sip-external:2] Set("SIP/localhost-00000006", "DID=SPA400") in new stack
    -- Executing [SPA400@from-sip-external:3] Goto("SIP/localhost-00000006", "s,1") in new stack
    -- Goto (from-sip-external,s,1)
    -- Executing [s@from-sip-external:1] GotoIf("SIP/localhost-00000006", "0?checklang:noanonymous") in new stack
    -- Goto (from-sip-external,s,5)
    -- Executing [s@from-sip-external:5] Set("SIP/localhost-00000006", "TIMEOUT(absolute)=15") in new stack
    Channel will hangup at 2011-03-24 02:20:42.739 GMT-6.
    -- Executing [s@from-sip-external:6] Answer("SIP/localhost-00000006", "") in new stack
    -- Executing [s@from-sip-external:7] Wait("SIP/localhost-00000006", "2") in new stack
    -- Executing [s@from-sip-external:8] Playback("SIP/localhost-00000006", "ss-noservice") in new stack
    -- <SIP/localhost-00000006> Playing 'ss-noservice.gsm' (language 'en')
    -- Executing [s@from-sip-external:9] PlayTones("SIP/localhost-00000006", "congestion") in new stack
    -- Executing [s@from-sip-external:10] Congestion("SIP/localhost-00000006", "5") in new stack
    == Spawn extension (from-sip-external, s, 10) exited non-zero on 'SIP/localhost-00000006'
    -- Executing [h@from-sip-external:1] Hangup("SIP/localhost-00000006", "") in new stack
    == Spawn extension (from-sip-external, h, 1) exited non-zero on 'SIP/localhost-00000006'


    bueno version de elastix la 2.0
    con un spa400
    y configuracion de la troncal en el pbx es la siguiente:

    PEER Details:
    allow=ulaw
    call-limit=50
    disallow=all
    incominglimit=1
    nat=never
    port=5060
    qualify=yes
    type=friend
    user=SPA400
    host=192.168.1.135
    dtmfmode=rfc2833
    canreinvite=no
    context=from-pstn
    insecure=very

    nombre de la troncal "SPA400" y en el incoming router el DID number es lo mismo, "SPA400"
     
  20. Carlos Vaquedano

    Joined:
    Mar 21, 2011
    Messages:
    14
    Likes Received:
    0
    Bueno resetie mi spa400 y ahora tengo el problema que no puedo hacer llamdas entrantes (ni salientes) bueno este es el log cuando llamo desde afuera:



    == Using SIP RTP TOS bits 184
    == Using SIP RTP CoS mark 5
    -- Executing [SPA400@from-sip-external:1] NoOp("SIP/localhost-00000006", "Received incoming SIP connection from unknown peer to SPA400") in new stack
    -- Executing [SPA400@from-sip-external:2] Set("SIP/localhost-00000006", "DID=SPA400") in new stack
    -- Executing [SPA400@from-sip-external:3] Goto("SIP/localhost-00000006", "s,1") in new stack
    -- Goto (from-sip-external,s,1)
    -- Executing [s@from-sip-external:1] GotoIf("SIP/localhost-00000006", "0?checklang:noanonymous") in new stack
    -- Goto (from-sip-external,s,5)
    -- Executing [s@from-sip-external:5] Set("SIP/localhost-00000006", "TIMEOUT(absolute)=15") in new stack
    Channel will hangup at 2011-03-24 02:20:42.739 GMT-6.
    -- Executing [s@from-sip-external:6] Answer("SIP/localhost-00000006", "") in new stack
    -- Executing [s@from-sip-external:7] Wait("SIP/localhost-00000006", "2") in new stack
    -- Executing [s@from-sip-external:8] Playback("SIP/localhost-00000006", "ss-noservice") in new stack
    -- <SIP/localhost-00000006> Playing 'ss-noservice.gsm' (language 'en')
    -- Executing [s@from-sip-external:9] PlayTones("SIP/localhost-00000006", "congestion") in new stack
    -- Executing [s@from-sip-external:10] Congestion("SIP/localhost-00000006", "5") in new stack
    == Spawn extension (from-sip-external, s, 10) exited non-zero on 'SIP/localhost-00000006'
    -- Executing [h@from-sip-external:1] Hangup("SIP/localhost-00000006", "") in new stack
    == Spawn extension (from-sip-external, h, 1) exited non-zero on 'SIP/localhost-00000006'


    bueno version de elastix la 2.0
    con un spa400
    y configuracion de la troncal en el pbx es la siguiente:

    PEER Details:
    allow=ulaw
    call-limit=50
    disallow=all
    incominglimit=1
    nat=never
    port=5060
    qualify=yes
    type=friend
    user=SPA400
    host=192.168.1.135
    dtmfmode=rfc2833
    canreinvite=no
    context=from-pstn
    insecure=very

    nombre de la troncal "SPA400" y en el incoming router el DID number es lo mismo, "SPA400"
     

Share This Page