SlideShare une entreprise Scribd logo
1  sur  18
Asterisk & carriers PSTN



      “ ...because PSTN does exist ”




                     
                            Iñaki Baz Castillo <ibc@aliax.net>
Comenzando como proveedor VoIP

        Empezamos con un único Asterisk
    



            Tarjeta de primario con conexión a carrier
        



            Usuarios SIP
        



                 Reciben llamadas a sus DID's asignados:
             



                   999000111 <­­­> sip:amancio@provider
                 Hacen llamadas con CallerID su DID asignado
             



            DID's mapeados directamente en el dialplan (¿AGI/DB?)
        



            Llamadas entre usuarios vía SIP (¿gratis?)
        




                                             
PSTN

                                        Carrier
                                        PSTN

                                 RDSI primario




                           SIP
                RTP


                      Internet / DSL dedicado

    Cliente 1



                                             Cliente 3
                            Cliente 2
                                  
Crecemos...

        Aumenta el número de clientes
    



             Necesitamos más capacidad de llamadas
         



             Un único servidor se queda corto
         




        Necesitamos más capacidad (líneas RDSI y servidores)
    



             Ponemos más Asterisk en paralelo
         



                  Más conexiones de primario con nuevos carriers
              



                  Cada Asterisk tiene sus propios usuarios y DID's
              



             Añadimos un host para BD
         


                  Todos los Asterisk usan esta BD (CDR centralizado)
              




                                               
PSTN




    RDSI primario




                                 BD


    RTP
                    SIP




                              
¡Problemas!

        Si cae un Asterisk:
    



             Sus usuarios no pueden ni hacer ni recibir llamadas
         




        Si cae un enlace de primario:
    



             Los usuarios con DID en ese primario no pueden recibir llamadas 
         


             (lógico) pero tampoco hacerlas a través de otro Asterisk
                  ¿Por qué no?
              




        Descentralización:
    



             ¿Mapeo en llamadas entre usuarios locales? ¿BD?
         




        Conclusión: Hemos creado islas independientes
    

                                           
¿ ...podemos hacer algo mejor ?




                    
Proveedor VoIP escalable (I)

        Un SIP proxy + registrar delante
    



             Todos los usuarios se registran aquí y no en los Asterisk
         



             El proxy ruta llamadas outbound a cualquier gateway (Asterisk)
         



                  Si un gateway falla ruta la llamada por otro (“dispatcher”)
              



                  Podemos mostrar cualquier CallerID a través de cualquier gateway
              



             El proxy ruta las llamadas a los usuarios
         




        Servidor DB
    



             Mapeo DID <­­> usuario SIP ­> ¡centralizado!
         



             Guarda  los registros de los usuarios ­> ¡centralizado!
         



             Guarda los CDR ­> ¡centralizado!
         
                                          
Proveedor VoIP escalable (II)

        Batería de Asterisk a modo de gateway SIP/PSTN
    



             Asterisk “sin cerebro” (meros gateways)
         



             Rutan las llamadas desde PSTN al proxy central
         



             Pega: cada Asterisk tiene sus bloques de DID's entrantes
         


                  Difícil de mejorar si tenemos distintos carriers
              




        Proxy RTP para encaminar audio en llamadas entre usuarios
    



             Necesario si alguno de los usuarios está tras NAT sin STUN
         




                                                
PSTN




    RDSI primario

                                                    BD


                           SIP
                 Proxy
                                        Proxy RTP
                      &
    RTP
               Registrar
                                          RTP
                           SIP




                                     
“Y más mejor...”

        Redundancia en el proy/registrar
    



             Usamos, por ejemplo, HeartBeat
         



                  Si el nodo 1 cae, el nodo 2 toma el control (incluso de la IP de 
              


                  servicio)
                  “Aquí no ha pasado nada”
              




        Redundancia BD
    



             Podemos usar BD en clustering con replicación master­master
         




        Redundancia en cada gateway (Asterisk)
    



             Redundancia de primarios (ej: RedPhone)
         



                  Si su Asterisk cae el dispositivo encamina el primario a otro nodo
              
                                                 
Asterisk como gateway SIP/PSTN (I)
        Configuración SIP (sip.conf)
    


        [proxy]
          type = peer          ; Lo identificamos por su IP origen
          host = IP_PROXY
          port = 5060
          insecure = invite    ; El proxy no debe autenticarse
          qualify = no
          canreinvite = no
          disallow = all
          allow = g729
          allow = alaw
          allow = ulaw
          dtmfmode = rfc2833
          nat = yes            ; Modo “Comedia” (soluciona RTP tras NAT)
          context = from-proxy




                                           
Asterisk como gateway SIP/PSTN (II)

        Control de llamadas salientes concurrentes
    



             Cada Asterisk con tarjeta de 4 primarios: 120 canales
         



             Conectado a un carrier que nos entrega DID's
         



                  El carrier nos ruta llamadas a esos DID's sólo por estos primarios
              



             Hay que reservar algunos canales para entrantes (las llamadas 
         


             salientes pueden hacerlo por cualquier otro primario)
             Creamos una lógica en Asterisk para limitar el número de 
         


             llamadas salientes




                                                
Macro para limitación de llamadas salientes
    


        [macro-check-outbound]
        ; ${ARG1} = ${EXTEN}

        exten => s,1,Set(GROUP()=outbound_calls)
        exten => s,n,GotoIf($[${GROUP_COUNT(outbound_calls)} >
            ${MAX_OUTBOUND_CALLS}]?deny,1)

        ; ### Llamada permitida, que continúe el dialplan
        exten => s,n,MacroExit

        ; ### Llamada no permitida por exceder MAX_OUTBOUND_CALLS ->
        ;     respondemos SIP 503
        exten => deny,1,Hangup(42) ; AST_CAUSE_SWITCH_CONGESTION (SIP 503)
             ; http://www.voip-info.org/wiki/index.php?page=Asterisk+variable+hangupcause



              Cuando el proxy reciba este 503 intentará sacar la llamada por otro 
         


              gateway

                                                       
Asterisk como gateway SIP/PSTN (III)

        CallerID en llamadas outbound
    



             El proxy añade la cabecera “P­Asserted­Identity” y Asterisk hará 
         


             honor a esa cabecera:
        INVITE sip:+34999000111@IP_ASTERISK;user=phone SIP/2.0
        Record-Route: <sip:IP_PROXY;lr=on>
        Via: SIP/2.0/UDP ADDRESS_PROXY;branch=z9hG4bK7817.9f2e1eb2.0
        Via: SIP/2.0/UDP ADDRESS_CLIENT;branch=z9hG4bK0bd0861e;rport=10001
        From: quot;Amancioquot; <sip:amancio@SIP_PROVIDER>;tag=as2d2bf44e
        To: <sip:999000111@SIP_PROVIDER>
        Contact: <sip:amancio@ADDRESS_CLIENT>
        Call-ID: 318448b03164e77873d8e21a311ee21
        P-Asserted-Identity: <sip:987654321@SIP_PROVIDER;user=phone>

             En caso de solicitar privacidad (número oculto) el proxy añade:
         


        Privacy: id



                                           
Dialplan



        [from-proxy]

        ; ### Comprobar llamadas outbound simultáneas
        exten => _XX.,1,Macro(check-outbound,${EXTEN})

        ; ###   Extraemos el PAI para crear el verdadero CallerID.
        exten   => _XX.,n,GotoIf($[quot;${SIP_HEADER(P-Asserted-Identity)}quot;!=quot;quot;]?pai:end-pai)
        exten   => _XX.,n(pai),NoOp(--- P-Asserted-Identity ---)
        exten   => _XX.,n,Set(UCLID=${CUT(CUT(SIP_HEADER(P-Asserted-Identity),@,1),:,2)})
        exten   => _XX.,n,Set(CALLERID(all)=${UCLID} <${UCLID}>)
        exten   => _XX.,n(end-pai),NoOp

        ; ###   ¿Privacidad solicitada (número oculto)?
        exten   => _XX.,n,GotoIf($[quot;${SIP_HEADER(Privacy)}quot;=quot;idquot;]?privacy:end-privacy)
        exten   => _XX.,n(privacy),NoOp(--- Privacy: id ---)
        exten   => _XX.,n,SetCallerPres(prohib_not_screened)
        exten   => _XX.,n(end-privacy),NoOp

        ; ### Dial via PRI
        exten => s,n,Dial(Zap/g1/${ARG1})
        exten => s,n,Hangup ; ¡¡ IMPORTANTE para que dé un
                             ;    código de error coherente !!

             Importante: No escondemos el CallerID al carrier, sino que se lo 
         


             entregamos solicitando que no le sea entregado al destino final.
                                              
Asterisk como gateway SIP/PSTN (IV)

        CallerID en llamadas inbound
    



             El CallerID lo obtenemos siempre con ${CALLERID(all)} (incluso 
         


             aunque sea oculto).
             Debemos averiguar si viene con número oculto.
         



             Antes de enviar el INVITE al proxy, añadimos la cabecera “P­
         


             Asserted­Identity”
                  Y en caso de CallerID oculto, también “Privacy: id”
              




                                               
Dialplan
    


        [from-pstn]

        ; ### Añadimos P-Asserted-Identity: CallerID real. Muy útil si la llamada
        ;     viene con CallerID oculto.
        exten => _XX,1,SIPAddHeader(P-Asserted-Identity:
            <sip:${CALLERID(num)}@SIP_PROVIDER>)

        ; ### ¿Privacy? Si viene con número oculto Asterisk lo traduce a:
        ;       From: quot;Unknownquot; <sip:Unknown@IP_ASTERISK>
        ;     No muy SIP RFC, lo más correcto sería:
        ;       From: quot;Anonymousquot; <sip:anonymous@anonymous.invalid>
        ;     Nosotros añadimos el quot;Privacy: idquot; y el proxy esconderá el From
        exten => _XX,n,GotoIf($[${MATH(${CALLINGPRES}>30)}=TRUE]?privacy:
            end-privacy)
        exten => _XX,n(privacy),SIPAddHeader(Privacy: id)
        exten => _XX,n(end-privacy),NoOp

        ; ### Llamada al proxy
        exten => _XX,n,Dial(SIP/proxy/${EXTEN})
        exten => _XX,n,Hangup()


             El proxy localizará al usuario SIP correspondiente a dicho DID
         

                                           

Contenu connexe

Tendances

Curso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanCurso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanIrontec
 
Curso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPCurso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPIrontec
 
Introducción a la VoIP con Asterisk
Introducción a la VoIP con AsteriskIntroducción a la VoIP con Asterisk
Introducción a la VoIP con AsteriskElio Rojano
 
Curso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosCurso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosIrontec
 
VOIP I - Marzo 2010
VOIP I - Marzo 2010VOIP I - Marzo 2010
VOIP I - Marzo 2010Jose Cordova
 
Seguridad en VoIP
Seguridad en VoIPSeguridad en VoIP
Seguridad en VoIPIrontec
 
Introducción a Asterisk + IVR en AEL2
Introducción a Asterisk + IVR en AEL2Introducción a Asterisk + IVR en AEL2
Introducción a Asterisk + IVR en AEL2Saúl Ibarra Corretgé
 
Curso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskCurso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskIrontec
 
Sistemas de VoIP con Asterisk: Modulo I
Sistemas de VoIP con Asterisk: Modulo ISistemas de VoIP con Asterisk: Modulo I
Sistemas de VoIP con Asterisk: Modulo IGabriel Astudillo
 
Charla Asterisk - UPCI
Charla Asterisk - UPCICharla Asterisk - UPCI
Charla Asterisk - UPCIguest1e22df3
 
4.1 Gestión de trafico NAT
4.1 Gestión de trafico   NAT4.1 Gestión de trafico   NAT
4.1 Gestión de trafico NATDavid Narváez
 
Laboratorio comunicaciones de voz sobre ip con elastix
Laboratorio comunicaciones de voz sobre ip con elastixLaboratorio comunicaciones de voz sobre ip con elastix
Laboratorio comunicaciones de voz sobre ip con elastixJesse Padilla Agudelo
 
Itn instructor ppt_chapter10
Itn instructor ppt_chapter10Itn instructor ppt_chapter10
Itn instructor ppt_chapter10Cesar Aguirre
 
Alta disponibilidad en Integración de Elastix con Centrales Legacy
Alta disponibilidad en Integración de Elastix con Centrales LegacyAlta disponibilidad en Integración de Elastix con Centrales Legacy
Alta disponibilidad en Integración de Elastix con Centrales LegacyPaloSanto Solutions
 
Diseño de una centralita telefónica con elastix
Diseño de una centralita telefónica con elastix Diseño de una centralita telefónica con elastix
Diseño de una centralita telefónica con elastix Oscar Medianero Chiscul
 
Catálogo de productos Neocenter 2017
Catálogo de productos Neocenter 2017Catálogo de productos Neocenter 2017
Catálogo de productos Neocenter 2017Neocenter SA de CV
 

Tendances (20)

Tecnología IP Leccion 2
Tecnología IP Leccion 2Tecnología IP Leccion 2
Tecnología IP Leccion 2
 
Curso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanCurso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: Dialplan
 
Curso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPCurso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIP
 
Introducción a la VoIP con Asterisk
Introducción a la VoIP con AsteriskIntroducción a la VoIP con Asterisk
Introducción a la VoIP con Asterisk
 
VoIP con Asterisk 2009
VoIP con Asterisk 2009VoIP con Asterisk 2009
VoIP con Asterisk 2009
 
Curso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosCurso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzados
 
VOIP I - Marzo 2010
VOIP I - Marzo 2010VOIP I - Marzo 2010
VOIP I - Marzo 2010
 
Seguridad en VoIP
Seguridad en VoIPSeguridad en VoIP
Seguridad en VoIP
 
Introducción a Asterisk + IVR en AEL2
Introducción a Asterisk + IVR en AEL2Introducción a Asterisk + IVR en AEL2
Introducción a Asterisk + IVR en AEL2
 
Curso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskCurso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y Asterisk
 
Sistemas de VoIP con Asterisk: Modulo I
Sistemas de VoIP con Asterisk: Modulo ISistemas de VoIP con Asterisk: Modulo I
Sistemas de VoIP con Asterisk: Modulo I
 
Charla Asterisk - UPCI
Charla Asterisk - UPCICharla Asterisk - UPCI
Charla Asterisk - UPCI
 
4.1 Gestión de trafico NAT
4.1 Gestión de trafico   NAT4.1 Gestión de trafico   NAT
4.1 Gestión de trafico NAT
 
Laboratorio comunicaciones de voz sobre ip con elastix
Laboratorio comunicaciones de voz sobre ip con elastixLaboratorio comunicaciones de voz sobre ip con elastix
Laboratorio comunicaciones de voz sobre ip con elastix
 
Telefonía IP (SIP, Diameter, RTP/RTPC)
Telefonía IP (SIP, Diameter, RTP/RTPC)Telefonía IP (SIP, Diameter, RTP/RTPC)
Telefonía IP (SIP, Diameter, RTP/RTPC)
 
Introduccion a la voip
Introduccion a la voipIntroduccion a la voip
Introduccion a la voip
 
Itn instructor ppt_chapter10
Itn instructor ppt_chapter10Itn instructor ppt_chapter10
Itn instructor ppt_chapter10
 
Alta disponibilidad en Integración de Elastix con Centrales Legacy
Alta disponibilidad en Integración de Elastix con Centrales LegacyAlta disponibilidad en Integración de Elastix con Centrales Legacy
Alta disponibilidad en Integración de Elastix con Centrales Legacy
 
Diseño de una centralita telefónica con elastix
Diseño de una centralita telefónica con elastix Diseño de una centralita telefónica con elastix
Diseño de una centralita telefónica con elastix
 
Catálogo de productos Neocenter 2017
Catálogo de productos Neocenter 2017Catálogo de productos Neocenter 2017
Catálogo de productos Neocenter 2017
 

En vedette

[VoIP2Day 2009] Presente y futuro de las comunicaciones VoIP
[VoIP2Day 2009] Presente y futuro de las comunicaciones VoIP[VoIP2Day 2009] Presente y futuro de las comunicaciones VoIP
[VoIP2Day 2009] Presente y futuro de las comunicaciones VoIPIñaki Baz Castillo
 
Usando Docker con sistemas Asterisk
Usando Docker con sistemas AsteriskUsando Docker con sistemas Asterisk
Usando Docker con sistemas AsteriskElio Rojano
 
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec
 
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Irontec
 
voip2day 2016: mediasoup, powerful WebRTC SFU for Node.js
voip2day 2016: mediasoup, powerful WebRTC SFU for Node.jsvoip2day 2016: mediasoup, powerful WebRTC SFU for Node.js
voip2day 2016: mediasoup, powerful WebRTC SFU for Node.jsIñaki Baz Castillo
 
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)Iñaki Baz Castillo
 
Qué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no mirasQué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no mirasElio Rojano
 
Simo Presentacion
Simo PresentacionSimo Presentacion
Simo PresentacionElio Rojano
 
[ElastixWorld 2013 Mexico] Si sólo ves un webphone no entiendes WebRTC
[ElastixWorld 2013 Mexico] Si sólo ves un webphone no entiendes WebRTC[ElastixWorld 2013 Mexico] Si sólo ves un webphone no entiendes WebRTC
[ElastixWorld 2013 Mexico] Si sólo ves un webphone no entiendes WebRTCIñaki Baz Castillo
 
Comparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseComparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseIrontec
 
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioEscalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioIrontec
 
VoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerVoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerIrontec
 
Curso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecCurso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecIrontec
 
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...Irontec
 
Arquitecturas de operador de Cloud PBX
Arquitecturas de operador de Cloud PBXArquitecturas de operador de Cloud PBX
Arquitecturas de operador de Cloud PBXJon Bonilla
 
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17Irontec
 

En vedette (17)

[VoIP2Day 2009] Presente y futuro de las comunicaciones VoIP
[VoIP2Day 2009] Presente y futuro de las comunicaciones VoIP[VoIP2Day 2009] Presente y futuro de las comunicaciones VoIP
[VoIP2Day 2009] Presente y futuro de las comunicaciones VoIP
 
Usando Docker con sistemas Asterisk
Usando Docker con sistemas AsteriskUsando Docker con sistemas Asterisk
Usando Docker con sistemas Asterisk
 
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
 
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
 
voip2day 2016: mediasoup, powerful WebRTC SFU for Node.js
voip2day 2016: mediasoup, powerful WebRTC SFU for Node.jsvoip2day 2016: mediasoup, powerful WebRTC SFU for Node.js
voip2day 2016: mediasoup, powerful WebRTC SFU for Node.js
 
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
 
Qué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no mirasQué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no miras
 
Simo Presentacion
Simo PresentacionSimo Presentacion
Simo Presentacion
 
[ElastixWorld 2013 Mexico] Si sólo ves un webphone no entiendes WebRTC
[ElastixWorld 2013 Mexico] Si sólo ves un webphone no entiendes WebRTC[ElastixWorld 2013 Mexico] Si sólo ves un webphone no entiendes WebRTC
[ElastixWorld 2013 Mexico] Si sólo ves un webphone no entiendes WebRTC
 
Comparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseComparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSense
 
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioEscalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
 
VoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerVoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz provider
 
Curso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecCurso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | Irontec
 
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
 
Arquitecturas de operador de Cloud PBX
Arquitecturas de operador de Cloud PBXArquitecturas de operador de Cloud PBX
Arquitecturas de operador de Cloud PBX
 
[VoIP2Day 2012] World Wide SIP
[VoIP2Day 2012] World Wide SIP[VoIP2Day 2012] World Wide SIP
[VoIP2Day 2012] World Wide SIP
 
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
 

Similaire à [VoIP2Day 2008] Asterisk & Carriers PSTN

InspIRCd y X-Chat en Ubuntu (Servidor y cliente IRC)
InspIRCd y X-Chat en Ubuntu (Servidor y cliente IRC)InspIRCd y X-Chat en Ubuntu (Servidor y cliente IRC)
InspIRCd y X-Chat en Ubuntu (Servidor y cliente IRC)Jose Luis Lopez Pino
 
InspIRCd y X-Chat Gnome en Ubuntu (Servidor y cliente IRC)
InspIRCd y X-Chat Gnome en Ubuntu (Servidor y cliente IRC)InspIRCd y X-Chat Gnome en Ubuntu (Servidor y cliente IRC)
InspIRCd y X-Chat Gnome en Ubuntu (Servidor y cliente IRC)Jose Luis Lopez Pino
 
Teléfonos fijos en 2006?
Teléfonos fijos en 2006?Teléfonos fijos en 2006?
Teléfonos fijos en 2006?Svet Ivantchev
 
Convegencia de Infraestructuras existentes hacia voip con Asterisk
Convegencia de Infraestructuras existentes hacia voip con AsteriskConvegencia de Infraestructuras existentes hacia voip con Asterisk
Convegencia de Infraestructuras existentes hacia voip con AsteriskAlberto Sagredo Castro
 
Configurar Asterik con el servicio de netelip
Configurar Asterik con el servicio de netelipConfigurar Asterik con el servicio de netelip
Configurar Asterik con el servicio de netelipnetelip
 
Adiptel - Guía Rápida de Configuración de una línea SIP en un adaptador Grand...
Adiptel - Guía Rápida de Configuración de una línea SIP en un adaptador Grand...Adiptel - Guía Rápida de Configuración de una línea SIP en un adaptador Grand...
Adiptel - Guía Rápida de Configuración de una línea SIP en un adaptador Grand...Adiptel
 
Presente y futuro de las comunicaciones VoIP
Presente y futuro de las comunicaciones VoIPPresente y futuro de las comunicaciones VoIP
Presente y futuro de las comunicaciones VoIPSaúl Ibarra Corretgé
 
Experiencias con-asterisk-1.8-cert
Experiencias con-asterisk-1.8-certExperiencias con-asterisk-1.8-cert
Experiencias con-asterisk-1.8-certr3iz0
 
Alberto Sagredo voipnovatos- voip2day2011
Alberto Sagredo  voipnovatos- voip2day2011Alberto Sagredo  voipnovatos- voip2day2011
Alberto Sagredo voipnovatos- voip2day2011Alberto Sagredo Castro
 
Asegúr@IT II - Seguridad en VoiP
Asegúr@IT II - Seguridad en VoiPAsegúr@IT II - Seguridad en VoiP
Asegúr@IT II - Seguridad en VoiPChema Alonso
 
Rompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IPRompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IPDaniel Torres
 
Utilerias 6 e_campos,rivera,parra.
Utilerias 6 e_campos,rivera,parra.Utilerias 6 e_campos,rivera,parra.
Utilerias 6 e_campos,rivera,parra.Alejandra5432
 
Curso de-asterisk-everano-2007-1204975330483842-4
Curso de-asterisk-everano-2007-1204975330483842-4Curso de-asterisk-everano-2007-1204975330483842-4
Curso de-asterisk-everano-2007-1204975330483842-4Newlink
 
Curso de-asterisk-everano-2007-1204975330483842-4
Curso de-asterisk-everano-2007-1204975330483842-4Curso de-asterisk-everano-2007-1204975330483842-4
Curso de-asterisk-everano-2007-1204975330483842-4Newlink
 
Presentación VoIP2Day : Soluciones Ingeniosas con VoIP
Presentación VoIP2Day : Soluciones Ingeniosas con VoIPPresentación VoIP2Day : Soluciones Ingeniosas con VoIP
Presentación VoIP2Day : Soluciones Ingeniosas con VoIPAlberto Sagredo Castro
 
Adiptel - Guia Rápida de configuración una linea SIP en un adaptador Cisco SP...
Adiptel - Guia Rápida de configuración una linea SIP en un adaptador Cisco SP...Adiptel - Guia Rápida de configuración una linea SIP en un adaptador Cisco SP...
Adiptel - Guia Rápida de configuración una linea SIP en un adaptador Cisco SP...Adiptel
 

Similaire à [VoIP2Day 2008] Asterisk & Carriers PSTN (20)

Seguridad en VoIP
Seguridad en VoIPSeguridad en VoIP
Seguridad en VoIP
 
InspIRCd y X-Chat en Ubuntu (Servidor y cliente IRC)
InspIRCd y X-Chat en Ubuntu (Servidor y cliente IRC)InspIRCd y X-Chat en Ubuntu (Servidor y cliente IRC)
InspIRCd y X-Chat en Ubuntu (Servidor y cliente IRC)
 
InspIRCd y X-Chat Gnome en Ubuntu (Servidor y cliente IRC)
InspIRCd y X-Chat Gnome en Ubuntu (Servidor y cliente IRC)InspIRCd y X-Chat Gnome en Ubuntu (Servidor y cliente IRC)
InspIRCd y X-Chat Gnome en Ubuntu (Servidor y cliente IRC)
 
VOIP II
VOIP IIVOIP II
VOIP II
 
Teléfonos fijos en 2006?
Teléfonos fijos en 2006?Teléfonos fijos en 2006?
Teléfonos fijos en 2006?
 
Convegencia de Infraestructuras existentes hacia voip con Asterisk
Convegencia de Infraestructuras existentes hacia voip con AsteriskConvegencia de Infraestructuras existentes hacia voip con Asterisk
Convegencia de Infraestructuras existentes hacia voip con Asterisk
 
Configurar Asterik con el servicio de netelip
Configurar Asterik con el servicio de netelipConfigurar Asterik con el servicio de netelip
Configurar Asterik con el servicio de netelip
 
Adiptel - Guía Rápida de Configuración de una línea SIP en un adaptador Grand...
Adiptel - Guía Rápida de Configuración de una línea SIP en un adaptador Grand...Adiptel - Guía Rápida de Configuración de una línea SIP en un adaptador Grand...
Adiptel - Guía Rápida de Configuración de una línea SIP en un adaptador Grand...
 
Presente y futuro de las comunicaciones VoIP
Presente y futuro de las comunicaciones VoIPPresente y futuro de las comunicaciones VoIP
Presente y futuro de las comunicaciones VoIP
 
Experiencias con-asterisk-1.8-cert
Experiencias con-asterisk-1.8-certExperiencias con-asterisk-1.8-cert
Experiencias con-asterisk-1.8-cert
 
Alberto Sagredo voipnovatos- voip2day2011
Alberto Sagredo  voipnovatos- voip2day2011Alberto Sagredo  voipnovatos- voip2day2011
Alberto Sagredo voipnovatos- voip2day2011
 
Presentacion Hacking Asterisk
Presentacion Hacking AsteriskPresentacion Hacking Asterisk
Presentacion Hacking Asterisk
 
(in) seguridad en VoIP
(in) seguridad en VoIP(in) seguridad en VoIP
(in) seguridad en VoIP
 
Asegúr@IT II - Seguridad en VoiP
Asegúr@IT II - Seguridad en VoiPAsegúr@IT II - Seguridad en VoiP
Asegúr@IT II - Seguridad en VoiP
 
Rompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IPRompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IP
 
Utilerias 6 e_campos,rivera,parra.
Utilerias 6 e_campos,rivera,parra.Utilerias 6 e_campos,rivera,parra.
Utilerias 6 e_campos,rivera,parra.
 
Curso de-asterisk-everano-2007-1204975330483842-4
Curso de-asterisk-everano-2007-1204975330483842-4Curso de-asterisk-everano-2007-1204975330483842-4
Curso de-asterisk-everano-2007-1204975330483842-4
 
Curso de-asterisk-everano-2007-1204975330483842-4
Curso de-asterisk-everano-2007-1204975330483842-4Curso de-asterisk-everano-2007-1204975330483842-4
Curso de-asterisk-everano-2007-1204975330483842-4
 
Presentación VoIP2Day : Soluciones Ingeniosas con VoIP
Presentación VoIP2Day : Soluciones Ingeniosas con VoIPPresentación VoIP2Day : Soluciones Ingeniosas con VoIP
Presentación VoIP2Day : Soluciones Ingeniosas con VoIP
 
Adiptel - Guia Rápida de configuración una linea SIP en un adaptador Cisco SP...
Adiptel - Guia Rápida de configuración una linea SIP en un adaptador Cisco SP...Adiptel - Guia Rápida de configuración una linea SIP en un adaptador Cisco SP...
Adiptel - Guia Rápida de configuración una linea SIP en un adaptador Cisco SP...
 

Dernier

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Dernier (16)

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

[VoIP2Day 2008] Asterisk & Carriers PSTN

  • 1. Asterisk & carriers PSTN “ ...because PSTN does exist ”     Iñaki Baz Castillo <ibc@aliax.net>
  • 2. Comenzando como proveedor VoIP Empezamos con un único Asterisk  Tarjeta de primario con conexión a carrier  Usuarios SIP  Reciben llamadas a sus DID's asignados:  999000111 <­­­> sip:amancio@provider Hacen llamadas con CallerID su DID asignado  DID's mapeados directamente en el dialplan (¿AGI/DB?)  Llamadas entre usuarios vía SIP (¿gratis?)     
  • 3. PSTN Carrier PSTN RDSI primario SIP RTP Internet / DSL dedicado Cliente 1 Cliente 3 Cliente 2    
  • 4. Crecemos... Aumenta el número de clientes  Necesitamos más capacidad de llamadas  Un único servidor se queda corto  Necesitamos más capacidad (líneas RDSI y servidores)  Ponemos más Asterisk en paralelo  Más conexiones de primario con nuevos carriers  Cada Asterisk tiene sus propios usuarios y DID's  Añadimos un host para BD  Todos los Asterisk usan esta BD (CDR centralizado)     
  • 5. PSTN RDSI primario BD RTP SIP    
  • 6. ¡Problemas! Si cae un Asterisk:  Sus usuarios no pueden ni hacer ni recibir llamadas  Si cae un enlace de primario:  Los usuarios con DID en ese primario no pueden recibir llamadas   (lógico) pero tampoco hacerlas a través de otro Asterisk ¿Por qué no?  Descentralización:  ¿Mapeo en llamadas entre usuarios locales? ¿BD?  Conclusión: Hemos creado islas independientes     
  • 8. Proveedor VoIP escalable (I) Un SIP proxy + registrar delante  Todos los usuarios se registran aquí y no en los Asterisk  El proxy ruta llamadas outbound a cualquier gateway (Asterisk)  Si un gateway falla ruta la llamada por otro (“dispatcher”)  Podemos mostrar cualquier CallerID a través de cualquier gateway  El proxy ruta las llamadas a los usuarios  Servidor DB  Mapeo DID <­­> usuario SIP ­> ¡centralizado!  Guarda  los registros de los usuarios ­> ¡centralizado!  Guarda los CDR ­> ¡centralizado!     
  • 9. Proveedor VoIP escalable (II) Batería de Asterisk a modo de gateway SIP/PSTN  Asterisk “sin cerebro” (meros gateways)  Rutan las llamadas desde PSTN al proxy central  Pega: cada Asterisk tiene sus bloques de DID's entrantes  Difícil de mejorar si tenemos distintos carriers  Proxy RTP para encaminar audio en llamadas entre usuarios  Necesario si alguno de los usuarios está tras NAT sin STUN     
  • 10. PSTN RDSI primario BD SIP Proxy Proxy RTP & RTP Registrar RTP SIP    
  • 11. “Y más mejor...” Redundancia en el proy/registrar  Usamos, por ejemplo, HeartBeat  Si el nodo 1 cae, el nodo 2 toma el control (incluso de la IP de   servicio) “Aquí no ha pasado nada”  Redundancia BD  Podemos usar BD en clustering con replicación master­master  Redundancia en cada gateway (Asterisk)  Redundancia de primarios (ej: RedPhone)  Si su Asterisk cae el dispositivo encamina el primario a otro nodo     
  • 12. Asterisk como gateway SIP/PSTN (I) Configuración SIP (sip.conf)  [proxy] type = peer ; Lo identificamos por su IP origen host = IP_PROXY port = 5060 insecure = invite ; El proxy no debe autenticarse qualify = no canreinvite = no disallow = all allow = g729 allow = alaw allow = ulaw dtmfmode = rfc2833 nat = yes ; Modo “Comedia” (soluciona RTP tras NAT) context = from-proxy    
  • 13. Asterisk como gateway SIP/PSTN (II) Control de llamadas salientes concurrentes  Cada Asterisk con tarjeta de 4 primarios: 120 canales  Conectado a un carrier que nos entrega DID's  El carrier nos ruta llamadas a esos DID's sólo por estos primarios  Hay que reservar algunos canales para entrantes (las llamadas   salientes pueden hacerlo por cualquier otro primario) Creamos una lógica en Asterisk para limitar el número de   llamadas salientes    
  • 14. Macro para limitación de llamadas salientes  [macro-check-outbound] ; ${ARG1} = ${EXTEN} exten => s,1,Set(GROUP()=outbound_calls) exten => s,n,GotoIf($[${GROUP_COUNT(outbound_calls)} > ${MAX_OUTBOUND_CALLS}]?deny,1) ; ### Llamada permitida, que continúe el dialplan exten => s,n,MacroExit ; ### Llamada no permitida por exceder MAX_OUTBOUND_CALLS -> ; respondemos SIP 503 exten => deny,1,Hangup(42) ; AST_CAUSE_SWITCH_CONGESTION (SIP 503) ; http://www.voip-info.org/wiki/index.php?page=Asterisk+variable+hangupcause Cuando el proxy reciba este 503 intentará sacar la llamada por otro   gateway    
  • 15. Asterisk como gateway SIP/PSTN (III) CallerID en llamadas outbound  El proxy añade la cabecera “P­Asserted­Identity” y Asterisk hará   honor a esa cabecera: INVITE sip:+34999000111@IP_ASTERISK;user=phone SIP/2.0 Record-Route: <sip:IP_PROXY;lr=on> Via: SIP/2.0/UDP ADDRESS_PROXY;branch=z9hG4bK7817.9f2e1eb2.0 Via: SIP/2.0/UDP ADDRESS_CLIENT;branch=z9hG4bK0bd0861e;rport=10001 From: quot;Amancioquot; <sip:amancio@SIP_PROVIDER>;tag=as2d2bf44e To: <sip:999000111@SIP_PROVIDER> Contact: <sip:amancio@ADDRESS_CLIENT> Call-ID: 318448b03164e77873d8e21a311ee21 P-Asserted-Identity: <sip:987654321@SIP_PROVIDER;user=phone> En caso de solicitar privacidad (número oculto) el proxy añade:  Privacy: id    
  • 16. Dialplan  [from-proxy] ; ### Comprobar llamadas outbound simultáneas exten => _XX.,1,Macro(check-outbound,${EXTEN}) ; ### Extraemos el PAI para crear el verdadero CallerID. exten => _XX.,n,GotoIf($[quot;${SIP_HEADER(P-Asserted-Identity)}quot;!=quot;quot;]?pai:end-pai) exten => _XX.,n(pai),NoOp(--- P-Asserted-Identity ---) exten => _XX.,n,Set(UCLID=${CUT(CUT(SIP_HEADER(P-Asserted-Identity),@,1),:,2)}) exten => _XX.,n,Set(CALLERID(all)=${UCLID} <${UCLID}>) exten => _XX.,n(end-pai),NoOp ; ### ¿Privacidad solicitada (número oculto)? exten => _XX.,n,GotoIf($[quot;${SIP_HEADER(Privacy)}quot;=quot;idquot;]?privacy:end-privacy) exten => _XX.,n(privacy),NoOp(--- Privacy: id ---) exten => _XX.,n,SetCallerPres(prohib_not_screened) exten => _XX.,n(end-privacy),NoOp ; ### Dial via PRI exten => s,n,Dial(Zap/g1/${ARG1}) exten => s,n,Hangup ; ¡¡ IMPORTANTE para que dé un ; código de error coherente !! Importante: No escondemos el CallerID al carrier, sino que se lo   entregamos solicitando que no le sea entregado al destino final.    
  • 17. Asterisk como gateway SIP/PSTN (IV) CallerID en llamadas inbound  El CallerID lo obtenemos siempre con ${CALLERID(all)} (incluso   aunque sea oculto). Debemos averiguar si viene con número oculto.  Antes de enviar el INVITE al proxy, añadimos la cabecera “P­  Asserted­Identity” Y en caso de CallerID oculto, también “Privacy: id”     
  • 18. Dialplan  [from-pstn] ; ### Añadimos P-Asserted-Identity: CallerID real. Muy útil si la llamada ; viene con CallerID oculto. exten => _XX,1,SIPAddHeader(P-Asserted-Identity: <sip:${CALLERID(num)}@SIP_PROVIDER>) ; ### ¿Privacy? Si viene con número oculto Asterisk lo traduce a: ; From: quot;Unknownquot; <sip:Unknown@IP_ASTERISK> ; No muy SIP RFC, lo más correcto sería: ; From: quot;Anonymousquot; <sip:anonymous@anonymous.invalid> ; Nosotros añadimos el quot;Privacy: idquot; y el proxy esconderá el From exten => _XX,n,GotoIf($[${MATH(${CALLINGPRES}>30)}=TRUE]?privacy: end-privacy) exten => _XX,n(privacy),SIPAddHeader(Privacy: id) exten => _XX,n(end-privacy),NoOp ; ### Llamada al proxy exten => _XX,n,Dial(SIP/proxy/${EXTEN}) exten => _XX,n,Hangup() El proxy localizará al usuario SIP correspondiente a dicho DID 