Hairpinning - Come evitarlo o gestirlo !?

Voice su IP

Moderatore: Federico.Lagni

Rispondi
Avatar utente
rinux
Cisco fan
Messaggi: 71
Iscritto il: mer 22 apr , 2009 4:20 pm
Località: near Frosinone

Hi!

Linea ISDN BRI, UC540 configurato tramite CCA :-(

Se inserisco su un hunt-group (in realtà ovunque lo vado ad inserire) il numero del cellulare da chiamare in forward dopo il timeout ovvero dopo la mancata risposta mi becco un bel errore sull'ISDN perchè il CME trasferisce la chiamata conservando il caller-ID mittente:

Codice: Seleziona tutto

002834: Jul 20 22:18:30.931: ISDN BR0/1/0 Q931: RX <- DISCONNECT pd = 8  callref = 0x8B
        Cause i = 0x8281 - Unallocated/unassigned number
        Progress Ind i = 0x8288 - In-band info or appropriate now available
...effettivamente qualche istante prima passa un messaggio di inizio chiamata con il numero del mittente, esempio:

Codice: Seleziona tutto

002832: Jul 20 22:18:30.699: ISDN BR0/1/0 Q931: TX -> SETUP pd = 8 callref = 0x0B
        Bearer Capability i = 0x8090A3
                Standard = CCITT
                Transfer Capability = Speech
                Transfer Mode = Circuit
                Transfer Rate = 64 kbit/s
        Channel ID i = 0x8A
                Exclusive, B2
        Calling Party Number i = 0x0181, '348xxxxxxx'
                Plan:ISDN, Type:Unknown
        Called Party Number i = 0xA1, '347yyyyyyy'
                Plan:ISDN, Type:National
        High Layer Compat i = 0x9181
        Sending Complete
...quali soluzioni ho per ottenere il risultato voluto ovvero quello di trasferire la chiamata, anche a pagamento :-(, sul secondo canale se libero in quel momento???

NB: evidentemente anche utilizzando la CLI per cambiare la configurazione!


Grazie!

73,
Arturo
There are 10 kinds of people in the world —
those who understand trinary, those who don't understand trinary and those who mistake it for binary.
Avatar utente
IsaCab
Network Emperor
Messaggi: 349
Iscritto il: ven 18 gen , 2008 3:45 pm
Contatta:

-------
Giulio Martino [ http://www.voipexperts.it ]
Avaya IP Office PA
Microsoft MCP [IsaServer]
Cisco SMB[AM,EN] - SBCS [AM,EN]
Technical Writer e Supporter di ISAServer.it
Articoli - <http://www.isaserver.it/articoli/>
Forum - <http://www.isaserver.it/forum/>
Blog - <http://blogs.dotnethell.it/isacab/>
Avatar utente
rinux
Cisco fan
Messaggi: 71
Iscritto il: mer 22 apr , 2009 4:20 pm
Località: near Frosinone

IsaCab ha scritto:leggi qui...
Ciao Giulio,
intanto grazie per il link... ...ho letto il documento ed ho fatto al volo qualche prova, per il momento con esito negativo ma appena mi è possibile ci torno sopra per vedere se risolve il problema.

NB: Dato che alla fine il problema si presenta in tutte quelle occasioni in cui si effettua un forward verso un carrier mi aspettavo qualcosa di più banale come dichiare se il forward deve essere di tipo A o di tipo B ovvero se deve 'ereditare' o no il caller-ID di provenienza della chiamata. Magari definendo la caratteristica del trunk (un pò come nel NAT tra interfacce inside ed outside per intenderci!).


73
Arturo.
There are 10 kinds of people in the world —
those who understand trinary, those who don't understand trinary and those who mistake it for binary.
Avatar utente
IsaCab
Network Emperor
Messaggi: 349
Iscritto il: ven 18 gen , 2008 3:45 pm
Contatta:

Ciao Arturo,
intanto grazie per il link
Figurati è sempre un piacere
se deve 'ereditare' o no il caller-ID di provenienza
La deviazione non ti funziona proprio perchè la chiamata in uscita si presenta con un caller-ID che non ha nulla ha che fare con l'id della linea attestata.

E non si tratta di ereditare o meno, ma deve essere effettuata una sostituzione del caller-id da quello originale che iniziato la chiamata ad un numero valido per la linea che si sta usando (ID linea o numero telefonico).

Questa è anche la ragione per cui con le chiamate interne la deviazione funziona.

Ciao Giulio
-------
Giulio Martino [ http://www.voipexperts.it ]
Avaya IP Office PA
Microsoft MCP [IsaServer]
Cisco SMB[AM,EN] - SBCS [AM,EN]
Technical Writer e Supporter di ISAServer.it
Articoli - <http://www.isaserver.it/articoli/>
Forum - <http://www.isaserver.it/forum/>
Blog - <http://blogs.dotnethell.it/isacab/>
miladj2000
n00b
Messaggi: 22
Iscritto il: mar 17 mar , 2009 3:38 pm

ossia da povero profano cosa bisognerebbe fare ?ho guardato il documento pero nn riesco a capire
Avatar utente
IsaCab
Network Emperor
Messaggi: 349
Iscritto il: ven 18 gen , 2008 3:45 pm
Contatta:

Ciao,

per favore nn aprire altri post per lo stesso problema.

Fai questa prova :

Abilita il trasferimento su un cellulare
Chiama l'interno internamente

Se funziona cattura i passaggi di degub (q931) così come ha fatto rinux e postali.

Ciao Giulio
-------
Giulio Martino [ http://www.voipexperts.it ]
Avaya IP Office PA
Microsoft MCP [IsaServer]
Cisco SMB[AM,EN] - SBCS [AM,EN]
Technical Writer e Supporter di ISAServer.it
Articoli - <http://www.isaserver.it/articoli/>
Forum - <http://www.isaserver.it/forum/>
Blog - <http://blogs.dotnethell.it/isacab/>
Avatar utente
rinux
Cisco fan
Messaggi: 71
Iscritto il: mer 22 apr , 2009 4:20 pm
Località: near Frosinone

IsaCab ha scritto: Abilita il trasferimento su un cellulare
Chiama l'interno internamente
Ciao,
in effetti non ho ancora risolto; in primis c'è il problema che se cambio la configurazione da CLI devo stare molto attento a cosa faccio altrimenti l'interfaccia CCA va in tilt e non è più utilizzabile; comunque ho verificato che il problema non è legato esclusivamente al caller-ID in effetti ho i seguenti casi:
  • - Chiamata da interno, inoltro utilizzando il Caller-ID corretto (era il minimo!)
    - Chiamata sul trunk SIP, inoltro senza 'mascherare' il Caller-ID ma il cellulare squilla.
    - Chiamata sulla linea BRI, inoltro senza 'mascherare' il Caller-ID ma la chiamata non viene inoltrata e il ricevente si becca un messaggio di numero inesistente!
Quando la chiamata arriva dall'ISDN ed il forward viene eseguito usando come Caller-ID il chiamante sulla comunicazione ISDN passa un:

Codice: Seleziona tutto

003414: Sep  2 08:55:16.377: ISDN BR0/1/0 Q931: RX <- CALL_PROC pd = 8  callref = 0xA6
        Channel ID i = 0x8A
                Exclusive, B2
003415: Sep  2 08:55:16.397: ISDN BR0/1/0 Q931: RX <- DISCONNECT pd = 8  callref = 0xA6
        Cause i = 0x8281 - Unallocated/unassigned number
        Progress Ind i = 0x8288 - In-band info or appropriate now available
003416: Sep  2 08:55:16.409: ISDN BR0/1/0 Q931: TX -> DISCONNECT pd = 8  callref = 0xB9
        Cause i = 0x8081 - Unallocated/unassigned number
        Progress Ind i = 0x8288 - In-band info or appropriate now available
Ma in definitiva, in tutte e due i casi di chiamate esterna (ovvero da ISDN o da SIP) la chiamata ha lo stesso caller-ID, solo qualche variazione nei dati a contorno:

Da ISDN

Codice: Seleziona tutto

003527: Sep  2 09:26:30.363: ISDN BR0/1/0 Q931: TX -> SETUP pd = 8  callref = 0x2A
        Bearer Capability i = 0x8090A3
                Standard = CCITT
                Transfer Capability = Speech
                Transfer Mode = Circuit
                Transfer Rate = 64 kbit/s
        Channel ID i = 0x8A
                Exclusive, B2
        Calling Party Number i = 0x0181, '348xxxxxxx'
                Plan:ISDN, Type:Unknown
        Called Party Number i = 0xA1, '347xxxxxxx'
                Plan:ISDN, Type:National
        High Layer Compat i = 0x9181
        Sending Complete
Da SIP

Codice: Seleziona tutto

003498: Sep  2 09:15:53.898: ISDN BR0/1/0 Q931: TX -> SETUP pd = 8  callref = 0x29
        Bearer Capability i = 0x8090A3
                Standard = CCITT
                Transfer Capability = Speech
                Transfer Mode = Circuit
                Transfer Rate = 64 kbit/s
        Channel ID i = 0x89
                Exclusive, B1
        Calling Party Number i = 0x0081, '348xxxxxxx'
                Plan:Unknown, Type:Unknown
        Called Party Number i = 0x80, '347xxxxxxx'
                Plan:Unknown, Type:Unknown
        Sending Complete
Le due chiamate hanno sottili differenze oltre al numero del canale (nel test da ISDN usa il secondo visto che il primo e' occupato) ma alla fine il carrier ignora il 'Calling Party Number' visto che la seconda chiamata funziona; il problema è altrove ovvero sul modo di effettuare o richiedere il forward!



73,
Arturo.
There are 10 kinds of people in the world —
those who understand trinary, those who don't understand trinary and those who mistake it for binary.
Avatar utente
rinux
Cisco fan
Messaggi: 71
Iscritto il: mer 22 apr , 2009 4:20 pm
Località: near Frosinone

Hi!
Tra l'altro chiamando da telefono collegato SIP collegato con lo stesso carrier si vedono passare informazioni riservate all'esterno ovvero appena arriva la chiamata, il sistema passa il numero e nome dell'interno che sta facendo squillare (il primo in caso di hunt/blast group) poi quando esegue il forward passa il numero di cellulare!!! Alla faccia della privacy :(

73
There are 10 kinds of people in the world —
those who understand trinary, those who don't understand trinary and those who mistake it for binary.
Avatar utente
IsaCab
Network Emperor
Messaggi: 349
Iscritto il: ven 18 gen , 2008 3:45 pm
Contatta:

Ciao rinux,

puoi spiegare meglio magari con qualche log ...

Ciao Giulio
-------
Giulio Martino [ http://www.voipexperts.it ]
Avaya IP Office PA
Microsoft MCP [IsaServer]
Cisco SMB[AM,EN] - SBCS [AM,EN]
Technical Writer e Supporter di ISAServer.it
Articoli - <http://www.isaserver.it/articoli/>
Forum - <http://www.isaserver.it/forum/>
Blog - <http://blogs.dotnethell.it/isacab/>
Avatar utente
rinux
Cisco fan
Messaggi: 71
Iscritto il: mer 22 apr , 2009 4:20 pm
Località: near Frosinone

IsaCab ha scritto:puoi spiegare meglio magari con qualche log...
Ciao,
se ti riferisci alla questione della privacy... al momento del trasferimento della chiamata per mancata risposta ecco il passaggio SIP che informa sul numero a cui è stata trasferita la chiamata:

Codice: Seleziona tutto

005653: Sep  4 13:38:11.827: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:
Sent:
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP aa.bb.cc.dd;branch=z9hG4bKa799.5d163dd1.0,SIP/2.0/UDP bb.bb.bb.bb:1026;rport=1025;branch=z9hG4bKPj15dvcvccgvlu.bttflsmqntq5unm7.vj
From: "RINUX" <sip:[email protected]>;tag=nuvl7hnq-9t3lq3ficz8z1vyibzyk7nm
To: <sip:[email protected]>;tag=21DCEAD0-1403
Date: Sat, 04 Sep 2010 13:38:11 GMT
Call-ID: gzzcrthyhevbpacyksv3ttn7-88btr8h
CSeq: 25116 INVITE
Require: 100rel
RSeq: 5088
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER
Allow-Events: telephone-event
Remote-Party-ID: <sip:[email protected]>;party=called;screen=no;privacy=off
Contact: <sip:[email protected]:5060>
Record-Route: <sip:aa.bb.cc.dd;ftag=nuvl7hnq-9t3lq3ficz8z1vyibzyk7nm;lr=on>
Server: Cisco-SIPGateway/IOS-12.x
Content-Length: 0
zac.... passa quel 'Remote-Party-ID:' e chi sta chiamando si trova il numero sul display!!!

NB: ottimo per gestire la telefonata tra trunk interni, negativo invece quando il trunk è verso un carrier... evidentemente è necessario settare diversamente il trunk!


Nella cfg c'è:

Codice: Seleziona tutto

sip-ua
 credentials username 0776555001 password 7 09114AA3B realm voip.mammatelecomsichiamavasip.it
 authentication username 0776555001 password 7 0D5D4D27
 retry invite 2
 retry register 10
 timers connect 100
 registrar dns:voip.mammatelecomsichiamavasip.it expires 3600
 sip-server dns:voip.mammatelecomsichiamavasip.it
 connection-reuse
 host-registrar
 g729-annexb override
Basterà un 'no remote-party-id' o quali altre opzioni è preferibile impostare pensando di essere connessi con un carrier?

73,
Arturo
There are 10 kinds of people in the world —
those who understand trinary, those who don't understand trinary and those who mistake it for binary.
Avatar utente
IsaCab
Network Emperor
Messaggi: 349
Iscritto il: ven 18 gen , 2008 3:45 pm
Contatta:

Ciao Arturo,

dai un occhiata a questo documento :

http://www.cisco.com/en/US/docs/ios/12_ ... ipext.html

Ciao Giulio
-------
Giulio Martino [ http://www.voipexperts.it ]
Avaya IP Office PA
Microsoft MCP [IsaServer]
Cisco SMB[AM,EN] - SBCS [AM,EN]
Technical Writer e Supporter di ISAServer.it
Articoli - <http://www.isaserver.it/articoli/>
Forum - <http://www.isaserver.it/forum/>
Blog - <http://blogs.dotnethell.it/isacab/>
Avatar utente
rinux
Cisco fan
Messaggi: 71
Iscritto il: mer 22 apr , 2009 4:20 pm
Località: near Frosinone

IsaCab ha scritto:dai un occhiata a questo documento...
Ottimo ed abbondante :)
...a primo vista mi pare che affronta il problema in modo completo; l'ho scaricato e questa sera lo leggo con calma.

Grazie!


Arturo.
There are 10 kinds of people in the world —
those who understand trinary, those who don't understand trinary and those who mistake it for binary.
Avatar utente
IsaCab
Network Emperor
Messaggi: 349
Iscritto il: ven 18 gen , 2008 3:45 pm
Contatta:

Ciao Arturo,

un feedback è sempre gradito :-)

Ciao Giulio
-------
Giulio Martino [ http://www.voipexperts.it ]
Avaya IP Office PA
Microsoft MCP [IsaServer]
Cisco SMB[AM,EN] - SBCS [AM,EN]
Technical Writer e Supporter di ISAServer.it
Articoli - <http://www.isaserver.it/articoli/>
Forum - <http://www.isaserver.it/forum/>
Blog - <http://blogs.dotnethell.it/isacab/>
Rispondi