[cancellato] Vedila così, se ci riesci gli admin potranno spezzare la discussione e farle diventare una guida per tutti i clienti Sky

Ti dieco ieri ci siamo messi a guardare il codice di PJSIP in IRC.
A capire cosa succedeva etc. Passo passo. Non siamo riusciti a capire perchè il trasport fallisce.

Tra l'altro arriva un 503 ma la connessione non viene nemmeno aperta verso il server voip.
MA stando a PJSIP dovrebbe arrivarfe un 502 se il trasport non va a buon fine.

[cancellato] Ocio al verso della barra però!
Si si è nel vcerso giusto la \ del escape. Guarda la conf poco sopra.

La rottura di ba*** è che non ci sono client che supportano il NAPTR. O perlomeno con l'IPv6 vanno in pappa.
La mia linea eutelia va e usano anche loro il NAPTR ma su ipv4. Quindi zoiper e company non funzionano neppure loro. (si piantano nel cercare di risolvere il DNS)

Diciamo che il fato che IPv6 viene lasciato a se stesso da (quasi) tutti gli sviluppatori rende le cose non poco complicate.

Ci ho dedicato tutto venerdi e tutto il pomeriggio di giovedì La notte di Venerdi (sono andato a dormire alle 4)
Sinceramente mi è passata la voglia. Dovrei provare con un ATA direttamente, ma non lo.

    hitech95 La mia linea eutelia va e usano anche loro il NAPTR ma su ipv4.

    Eutelia ha un banale record A.

    Comunque risolvilo a parte l’NAPTR e metti l’hostname A come server.

    hitech95 Il trasporto funziona adesso, NAPTR non c'entra. C'è solo qualche header sbagliato nel SIP REGISTER, se hai voglia di fare delle prove sicuramente si riesce a sistemare.
    Prova così:

    [SkyWifi]
    type=aor
    qualify_frequency=0
    contact=sip:voip.sky.it
    outbound_proxy=sip:voip.it.isp.sky\;lr
    
    [SkyWifi]
    type=auth
    password=<redacted>
    auth_type=userpass
    username=<redacted>
    
    [SkyWifi]
    type=endpoint
    context=from-pstn
    disallow=all
    allow=ulaw,alaw
    aors=SkyWifi
    language=it
    outbound_proxy=sip:voip.it.isp.sky\;lr
    outbound_auth=SkyWifi
    from_domain=voip.sky.it
    user_eq_phone=no
    t38_udptl=no
    t38_udptl_ec=none
    fax_detect=no
    trust_id_inbound=no
    t38_udptl_nat=no
    direct_media=no
    rtp_symmetric=yes
    dtmf_mode=auto
    
    [SkyWifi]
    type=identify
    endpoint=SkyWifi
    match=voip.sky.it
    
    [SkyWifi]
    type=registration
    outbound_auth=SkyWifi
    retry_interval=60
    fatal_retry_interval=0
    forbidden_retry_interval=10
    max_retries=10
    expiration=3600
    line=yes
    endpoint=SkyWifi
    auth_rejection_permanent=yes
    server_uri=sip:voip.sky.it
    client_uri=sip:<redacted>@voip.sky.it
    outbound_proxy=sip:voip.it.isp.sky\;lr
    contact_user = <redacted>

    poi riavvia Asterisk e posta i log.

    Poi come hai detto in client_uri dovresti provare il numero di telefono con o senza prefisso, lo username, ecc. Le combinazioni non sono infinite.

      Aggiungo se non dovesse funzionare di fare uno sniffing dallo Sky hub con wireshark e portmirroring.
      A quel punto vedi come lui compila tutti i campi.

      Ammesso tu abbia uno switch con port mirroring e VLAN ma penso di sì.
      Ovviamente mettendosi in mezzo tra ONT e Sky hub.

        fracarza Il trasporto funziona adesso

        Si solo che non specificando il trasport freepbx rompe... e vorrei sistemare sta cosa.
        PErchè ora come ora è una configurazione custom fuori dalla sua interfaccia.

        Detto cio, ora si registra (non ho testato altro) ma:
        Ho fatto il diff della conf attuale e quella da te suggerita, l'unica differenza è qualify_frequency e i \;lr che mancavano in giro.

        Facendo un altro check. Ho notato che la conf che genera Freepbx è identica, unica pecca è il fatto del trasport.
        Io ho provato a toglerlo usando, ma nada:

        [SkyWifi](-)
        transport=0.0.0.0-udp

        nei vari override per l'endpoint e il registration. Ma non sembra piacerli.
        L'unica pecca sembra quindi essere il discorso del transport che non lo digerisce.

        Faccio però notare che io ho anche creato il trasport TCP per ipv6, perchè è una delle nesime prove che ho fatto ieri.

        Quindi la conf che ALMENO si registra è:

        [SkyWifi]
        type=aor
        qualify_frequency=60
        contact=sip:<your_username>@voip.sky.it
        outbound_proxy=sip:voip.it.isp.sky\;lr
        
        [SkyWifi]
        type=auth
        auth_type=userpass
        password=<your_password>
        username=<your_username>
        
        [SkyWifi]
        type=endpoint
        context=from-pstn
        disallow=all
        allow=ulaw,alaw,g729
        aors=SkyWifi
        language=it
        outbound_proxy=sip:voip.it.isp.sky\;lr
        outbound_auth=SkyWifi
        from_domain=voip.sky.it
        contact_user=<your_username>
        user_eq_phone=no
        t38_udptl=no
        t38_udptl_ec=none
        fax_detect=no
        trust_id_inbound=no
        t38_udptl_nat=no
        direct_media=no
        rtp_symmetric=yes
        dtmf_mode=auto
        
        [SkyWifi]
        type=identify
        endpoint=SkyWifi
        match=voip.sky.it
        
        [SkyWifi]
        type=registration
        outbound_auth=SkyWifi
        retry_interval=60
        fatal_retry_interval=0
        forbidden_retry_interval=10
        max_retries=10
        expiration=3600
        line=yes
        endpoint=SkyWifi
        auth_rejection_permanent=yes
        contact_user=<your_username>
        server_uri=sip:voip.sky.it
        client_uri=sip:<your_username>@voip.sky.it
        outbound_proxy=sip:voip.it.isp.sky\;lr

        gandalf2016 Aggiungo se non dovesse funzionare di fare uno sniffing dallo Sky hub con wireshark e portmirroring.
        A quel punto vedi come lui compila tutti i campi.

        Sembra non sia necessario. Rimane solo l'incognita del trasport.

          hitech95 e i \;lr che mancavano in giro

          Lo avevo detto io 😉.

          Quello e il contact_user + from_user+from_domain sono quelli che fregano con i grandi gestori in genere.

            gandalf2016
            Lo davo per scontato perchè stanote eravamo in 4 aq guardare la conf. Ma nessuno se ne è accorto.
            DEvo ammetere che non ho ancora capito a cosa serve sto LF.

            Piccolo update:
            è registrato ma non so il numero! Chiamando il mio vecchio butta giù diretto.
            Ma sky mi ha chiamato giovedì sera per l'appunto per dirmi che il numero di telefono era stato migrato...

            Uhm...

              hitech95 Ma con lo Sky Hub va tutto bene?

              Perchè se non va nemmeno con quello c'è poco da star qui a discutere 🤓

                edofullo

                edofullo Perchè se non va nemmeno con quello c'è poco da star qui a discutere

                Ah booh, dovrei provare, ma non ho "telefoni" xD

                  • [cancellato]

                  hitech95 Chiamati il numero e guarda se la spia (ha una spia, vero??) cambia stato/lampegga/faunapiroetta 🙂

                    hitech95 Per aggiungere un trasport custom a FreePBX devi modificare /etc/asterisk/pjsip.transports_custom.conf aggiungendo

                    [transport-udp6]
                    type=transport
                    protocol=udp
                    bind=::

                    dopo riavvii e lo puoi selezionare nel menu del trunk.

                    Nella conf che ti ho mandato anche contact_user è diverso. qualify_frequency l'ho disattivato solo perché prima in uno dei log sembrava dare problemi OPTIONS (come ad esempio Fastweb).

                    hitech95 DEvo ammetere che non ho ancora capito a cosa serve sto LF.

                    Loose routing semplicemente manda SIP REGISTER a voip.sky.it invece che a voip.it.isp.sky.

                    hitech95 è registrato ma non so il numero! Chiamando il mio vecchio butta giù diretto.

                    In contact_user prova a mettere il tuo numero di telefono non lo username. E guarda i log mentre chiami.

                      [cancellato]
                      Vero, ora trovo lo scatolo e provo.

                      fracarza Per aggiungere un trasport custom a FreePBX devi modificare /etc/asterisk/pjsip.transports_custom.conf aggiungendo

                      Si ma il problema è che non devo aggiungerlo ma rimuoverlo dalla conf del endpoint e del registration.
                      Nel file /etc/asterisk/pjsip.transports_custom.conf io ho i trasport TCP6 e UDP6.

                      Nel file /etc/asterisk/pjsip_custom.conf ho la conf di cui sopra.
                      Il problema è che non posso togliere il trasport dalla GUI. O perlomeno sembra non farlo usando il file _custom_post.conf

                      fracarza Nella conf che ti ho mandato anche contact_user è diverso. qualify_frequency l'ho disattivato solo perché prima in uno dei log sembrava dare problemi OPTIONS (come ad esempio Fastweb).

                      Il contact_user lo avevo già aggiunto prchè suggerito poco dopo da @gandalf2016.

                      fracarza In contact_user prova a mettere il tuo numero di telefono non lo username. E guarda i log mentre chiami.

                      In ricezione ora come ora non ricevo nessun frame SIP.

                        hitech95 Se usi il transport UDP6 sicuro non vada?

                        hitech95 In ricezione ora come ora non ricevo nessun frame SIP.

                        Appunto, prova usando il numero invece che lo username.

                          fracarza Si guarda qui: hitech95
                          Ho provato con il +39 0039 e il numero diretto. Non cambia nulla.

                            hitech95 Si ma li te lo vede come UDP transport invece che UDP IPv6 transport, quindi probabilmente è un problema nella definizione. Prova a mettere bind [<ip interfaccia ipv6 che da su wan>] invece che ::.

                            hitech95 Ho provato con il +39 0039 e il numero diretto. Non cambia nulla.

                            Se in client_uri e contact metti il tuo numero invece dello username si registra?

                              fracarza Se in client_uri e contact metti il tuo numero invece dello username si registra?

                              403 Forbidden

                              fracarza Si ma li te lo vede come UDP transport invece che UDP IPv6 transport, quindi probabilmente è un problema nella definizione. Prova a mettere bind [<ip interfaccia ipv6 che da su wan>] invece che ::.

                              Allora forse ora va, ma non ne sono sicuro!

                                hitech95 Se fossi in te io ora andrei per passi.

                                1. Visto che non vuoi mantenere configurazioni custom, fai pulizia e ricrea da zero il trunk da FreePBX con il trasporto UDPv6 con bind sull'interfaccia specifica.
                                2. Una volta che si registra, create le inbound e outbound routes.
                                3. Fai una chiamata outbound (per esempio registra un'estensione su Zoiper, o crea un call-file), così vedi se va e controlli anche qual è il tuo numero.
                                4. Fai una chiamata inbound.

                                  fracarza Visto che non vuoi mantenere configurazioni custom, fai pulizia e ricrea da zero il trunk da FreePBX con il trasporto UDPv6 con bind sull'interfaccia specifica.

                                  Si il fatto è che non puoi scegliere il trasport da UI. Ma devi fare l'override sempre dal file di conf.

                                  fracarza Una volta che si registra, create le inbound e outbound routes.

                                  Quelli li avevo già! Ma a quanto pare passando a Asterisk 18 sembrano non funzionare più... Uhm..

                                  EDIT: Come non detto con la linea Eutelia riesco ad uscire tranquillamente. (ma ho finito il credito 😛)
                                  EDIT2: Riesco ad uscire anche via SkyWifi. Ma non ricevo niente. Che sia il FW che chiude la connessione?


                                  Comunque non esce nulla.

                                  fracarza Fai una chiamata inbound.

                                  Questo non va, il telefono non suona, butta giù diretto. Non ricevo alcun frame SIP.

                                  freepbx*CLI> pjsip show transports
                                  
                                  Transport:  <TransportId........>  <Type>  <cos>  <tos>  <BindAddress....................>
                                  ==========================================================================================
                                  
                                  Transport:  0.0.0.0-tcp               tcp      3     96  0.0.0.0:5060
                                  Transport:  0.0.0.0-udp               udp      3     96  0.0.0.0:5060
                                  Transport:  transport-tcp6            tcp      3     96  [::]:5060
                                  Transport:  transport-udp6            udp      3     96  [2a0e:xxxx:xxxx:0:xxxx:xxff:fexx:xxxx]:5060
                                  
                                  Objects found: 4
                                  
                                  freepbx*CLI> pjsip show registrations
                                  
                                   <Registration/ServerURI..............................>  <Auth..........>  <Status.......>
                                  ==========================================================================================
                                  
                                   Clouditalia/sip:voip.eutelia.it                         Clouditalia       Registered
                                   SkyWifi/sip:voip.sky.it                                 SkyWifi           Registered
                                  
                                  Objects found: 2
                                  
                                  freepbx*CLI> pjsip show endpoints
                                  
                                   Endpoint:  <Endpoint/CID.....................................>  <State.....>  <Channels.>
                                      I/OAuth:  <AuthId/UserName...........................................................>
                                          Aor:  <Aor............................................>  <MaxContact>
                                        Contact:  <Aor/ContactUri..........................> <Hash....> <Status> <RTT(ms)..>
                                    Transport:  <TransportId........>  <Type>  <cos>  <tos>  <BindAddress..................>
                                     Identify:  <Identify/Endpoint.........................................................>
                                          Match:  <criteria.........................>
                                      Channel:  <ChannelId......................................>  <State.....>  <Time.....>
                                          Exten: <DialedExten...........>  CLCID: <ConnectedLineCID.......>
                                  ==========================================================================================
                                  
                                   Endpoint:  100/100                                              Unavailable   0 of inf
                                       InAuth:  100-auth/100
                                          Aor:  100                                                1
                                  
                                   Endpoint:  101/101                                              Not in use    0 of inf
                                       InAuth:  101-auth/101
                                          Aor:  101                                                1
                                        Contact:  101/sip:101@192.168.1.100:55098;rinstance= cf5ce8c707 Avail         3.428
                                  
                                   Endpoint:  110/110                                              Not in use    0 of inf
                                       InAuth:  110-auth/110
                                          Aor:  110                                                1
                                        Contact:  110/sip:110@192.168.1.134:48797;transport= 7481951316 Avail       180.650
                                  
                                   Endpoint:  Clouditalia                                          Not in use    0 of inf
                                      OutAuth:  Clouditalia/XXXXXXXXXX
                                          Aor:  Clouditalia                                        0
                                        Contact:  Clouditalia/sip:XXXXXXXXXX@voip.eutelia.it 017eab0480 Avail        16.648
                                    Transport:  0.0.0.0-udp               udp      3     96  0.0.0.0:5060
                                     Identify:  Clouditalia/Clouditalia
                                          Match: 83.211.227.21/32
                                  
                                   Endpoint:  SkyWifi                                              Not in use    0 of inf
                                      OutAuth:  SkyWifi/XXXXXXXXXXXXXXXX
                                          Aor:  SkyWifi                                            0
                                        Contact:  SkyWifi/sip:XXXXXXXXXXXXXXXX@voip.sky.it    81175c7138 Avail       100.018
                                    Transport:  transport-udp6            udp      3     96  [2a0e:xxxx:xxxx:0:xxxx:xxff:fexx:xxxx]:5060
                                  
                                   Endpoint:  anonymous                                            Unavailable   0 of inf
                                  
                                  
                                  Objects found: 6
                                  
                                  freepbx*CLI>

                                    hitech95 Si il fatto è che non puoi scegliere il trasport da UI. Ma devi fare l'override sempre dal file di conf.

                                    Sisi quello si, ma son due righe in pjsip.endpoint.custom_post e pjsip.registration.custom_post, il resto lo configuri da GUI.

                                    hitech95 Riesco ad uscire anche via SkyWifi. Ma non ricevo niente. Che sia il FW che chiude la connessione?

                                    Ok bisogna vedere se RTP funziona. Devi permettere le porte RTP (di solito 10000-20000 se non ricordo male) in uscita.

                                    hitech95 Questo non va, il telefono non suona, butta giù diretto. Non ricevo alcun frame SIP.

                                    Il packet capture lo fai su pfSense o su Asterisk? Hai aperto la porta 5060 UDP ipv6 inbound verso il PBX?

                                      Informativa privacy - Informativa cookie - Termini e condizioni - Regolamento - Disclaimer - 🏳️‍🌈
                                      P.I. IT16712091004 - info@fibraclick.it

                                      ♻️ Il server di questo sito è alimentato al 100% con energia rinnovabile