Logica nell'utilizzo dei codec.

anonymous

Well-Known Member
Registrato
14 Gennaio 2008
Messaggi
19.170
Salve a tutti.

Vorrei capire, se possibile, in che modo il 3cx interviene nella gestione dei codec.

Mi spiego meglio con un esempio:

Mettiamo che un provider venga caricato nel 3cx selezionando tra i codec il G729 e che l'interno di destinazione di quel provider sia un interno con a bordo la licenza del G729.

Quando arriva una chiamata, il 3cx utilizzera' il G729 verso il provider, corretto ?
Nei confronti dell'interno, invece, cosa fara' ?

Si limitera' a consegnare l'audio direttamente al telefono (evitando di mettersi di mezzo) oppure fara' da intermediario tra il provider ed il telefono utilizzando, di conseguenza, altre licenze G729 ?

In altre parole... qual'e' l'interazione che avviene tra le varie componenti della comunicazione ?

Grazie a tutti
 
Ciao,

una buona spiegazione la trovi al seguente link:

http: //wiki.3cx.com/Home/technical-documentation-dash/media-server

Molto brevemente: il Media Server (componente 3cx) decide come procedere con la negoziazione dell'audio.
Ed entra in gioco il codec solo quando usa il metodo 'trascodifica'.
Desumo che il codec G729 entra in causa quando uno dei due punti di conversazione ha impostato il G729.

Qualcuno potrà approfondire la questione licenza G729, perchè non mi è altrettanto chiaro.

Pascal
 
secondo la mia personale conoscenza,
il codec del chiamante ha logica fino al proprio Provider,
idem del chiamato,
quindi non necessariamente il codec parte X e termina X.
Deduco tal situazione,èer esempio,dal fatto che ad esempio Cheapnet Home
forza la chiamata in G729, se l'interlocutore parte in G711 non sarebbe possibile
la conversazione......
In tal merito ne ho sentite di tutti i colori,
questa mi pare la più plausibile :)

damiano
 
@aps wrote:Ciao,

una buona spiegazione la trovi al seguente link:

http: //wiki.3cx.com/Home/technical-documentation-dash/media-server

Molto brevemente: il Media Server (componente 3cx) decide come procedere con la negoziazione dell'audio.
Ed entra in gioco il codec solo quando usa il metodo 'trascodifica'.
Desumo che il codec G729 entra in causa quando uno dei due punti di conversazione ha impostato il G729.

Qualcuno potrà approfondire la questione licenza G729, perchè non mi è altrettanto chiaro.

Pascal

La teoria e' una cosa, ma la pratica e' un'altra...

Ti racconto cosa succede a me in questo scenario:

PBX su ip pubblico dedicato (no routed / no nat)
2 interni remoti dietro a nat con stun, adsl diverse per tutti e due e codec G729 forzati sui telefoni (Linksys Spa941).
Provider registrato con CodecG729 e route di destinazione delle chiamate in ingresso verso i due telefoni.

Se setto sul provider il G729, il 3cx mi utilizza 4 licenze in un colpo solo! :shock:
Se setto sui telefoni il codec G711, non cambia nulla, sempre 4 licenze.
Se setto sul provider il G711 e rimetto il G729 sui telefoni, mi usa solo 1 licenza.
In tutti i casi, rilevo sempre la chiamata in bound sul media server.

Ora chi me lo spiega ?

Altra domanda: non mi e' chiaro l'utilita' dell'opzione "Consegna Audio PBX" e in che casi conviene utilizzarla.

Grazie
 
3CX può lavorare come SIP server puro oppure come media server.
Se non utilizzi la funzione consegna audio del PBX 3cx funziona come sip server e quindi i flussi audio non passano dal PBX.
Se attivi la consegna audio invece tutto viene fatto passare da 3CX che in questo caso funziona come media server.

Ovviamente l'utilizzo dei codec è molto differente nei due casi esposti.
 
@eurylink.com wrote:3CX può lavorare come SIP server puro oppure come media server.
Se non utilizzi la funzione consegna audio del PBX 3cx funziona come sip server e quindi i flussi audio non passano dal PBX.


Ho fatto anche questo test ma non ottengo questo risultato.
Comunque io setti il parametro di Consegna Audio , sia sugli interni che sui provider, le cose non cambiano.
Per una telefonata, mi faccio fuori 4 licenze G729.

Come faccio a evitare questo problema ?

Grazie
 
Fai attenzione al fatto che quando cambi le impostazioni del mediaserver devi riavviare il servizio !! altrimenti le impostazioni non vengono variate.
 
@eurylink.com wrote:Fai attenzione al fatto che quando cambi le impostazioni del mediaserver devi riavviare il servizio !! altrimenti le impostazioni non vengono variate.

Nooooooooooooooooooo............... ma cosa mi diciiiiiiiiiiiiiiiiiiiii !!!!
E' da settimane che faccio test cosi'......... !!!!!!!!!! :oops: :(
Ma porca zozza...... !!!!

Da stasera , allora, applichero' il consiglio.... preparati !!
:mrgreen:

Grazie... come sempre..
 
Ho fatto alcuni test e alla fine e' uscito quanto segue:

Non e' necessario riavviare il media server per applicare le impostazioni relative la "consegna pbx audio"

Ho caricato un account di un altro provider (Eutelia) ed ho visto che il comportamento relativo al consumo delle licenze era diverso: anziche' 4 licenze per telefonata (in fase di squillo) , il 3cx ne segnava soltanto 1.

Ho chiesto, quindi, al provider di inviarmi il loro log durante la fase di negoziazione della chiamata.
Questo e' quello che e' uscito fuori:

FASE DI INVITE:
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 200.200.200.200:5060;branch=z9hG4bK08003E2ECD5E000241E300000B68
From: "0039349100100" ;tag=08003E2ECD5E000241E300000E13
To:
Call-ID: 08003E2ECD5E000241E3000012D4 @200.200.200.200
CSeq: 16843 INVITE
Contact:
Max-Forwards: 70
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, INFO
Content-Type: application/sdp
Supported: 100rel
P-Asserted-Identity:
User-Agent: TELES.iSWITCH
Content-Length: 753

v=0
o=- 1014793900009750 1 IN IP4 213.204.0.67
s=-
c=IN IP4 200.200.200.201
t=0 0
m=audio 7120 RTP/AVP 18 18 18 18 8 0 4 96 97 2 98 3 99
a=rtpmap:18 G729A/8000
a=ptime:40
a=rtpmap:18 G729B/8000
a=ptime:40
a=rtpmap:18 G729AB/8000
a=ptime:40
a=rtpmap:18 G729/8000
a=ptime:40
a=rtpmap:8 PCMA/8000
a=ptime:40
a=rtpmap:0 PCMU/8000
a=ptime:40
a=rtpmap:4 G723/8000
a=ptime:30
a=rtpmap:96 G726-16/8000
a=ptime:40
a=rtpmap:97 G726-24/8000
a=ptime:40
a=rtpmap:2 G726-32/8000
a=ptime:40
a=rtpmap:98 G726-40/8000
a=ptime:40
a=rtpmap:3 GSM/8000
a=ptime:40
a=sendrecv
a=rtpmap:99 telephone-event/8000
m=image 7122 udptl t38
a=T38FaxVersion:0
a=T38MaxBitRate:14400
a=T38FaxUdpEC:t38UDPRedundancy
a=T38FaxRateManagement:transferredTCF

Come si puo' notare dalle righe che ho evidenziato in rosso, il provider indica 4 tipi di codec G729 tra quelli disponibili.

Ora, vi posto il log della risposta di OK da parte del 3cx:

SIP/2.0 200 OK
Via: SIP/2.0/UDP 213.204.0.66:5060;branch=z9hG4bK08003E2ECD5E000241E300000B68
Contact:
To: ;tag=676e2050
From: "0039349100100";tag=08003E2ECD5E000241E300000E13
Call-ID: 08003E2ECD5E000241E3000012D4 @200.200.200.200
CSeq: 16843 INVITE
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REGISTER, SUBSCRIBE, NOTIFY, REFER, INFO
Content-Type: application/sdp
User-Agent: 3CXPhoneSystem 7.1.6054.0
Content-Length: 308

v=0
o=3cxPS 330343383040 502108520449 IN IP4 [IP 3CX]
s=3cxPS Audio call
c=IN IP4 [IP 3CX]
t=0 0
m=audio 9004 RTP/AVP 18 18 18 18 99
c=IN IP4 [IP 3CX]
a=rtpmap:18 G729/8000
a=rtpmap:18 G729/8000
a=rtpmap:18 G729/8000
a=rtpmap:18 G729/8000
a=rtpmap:99 telephone-event/8000
a=sendrecv

Come si nota, il 3cx ripete per 4 volte il codec g729 nel campo "rtpmap".
Quindi, se non ho interpretato male il log, e' il 3cx che fa casino e accetta 4 codec in un colpo solo bruciandomi tutte le licenze.

Mi sbaglio, quindi, se dico che il 3cx ha un baco ?

Grazie
 
@itgs wrote:Ho chiesto, quindi, al provider di inviarmi il loro log durante la fase di negoziazione della chiamata.

Ottimo lavoro itgs.
Una domanda mi incuriosisce, prima che di baco si parli: come hai fatto a comunicare e richiedere attenzione di Eutelia per ottenere il log postato?
La mia esperienza comicativa con Eutelia è negativa. Almeneo fino a 6 mesi fa.
Scusate ma non ho resistito a chiedere.
Grazie.
 
@aps wrote:@itgs wrote:Ho chiesto, quindi, al provider di inviarmi il loro log durante la fase di negoziazione della chiamata.

Ottimo lavoro itgs.
Una domanda mi incuriosisce, prima che di baco si parli: come hai fatto a comunicare e richiedere attenzione di Eutelia per ottenere il log postato?
La mia esperienza comicativa con Eutelia è negativa. Almeneo fino a 6 mesi fa.
Scusate ma non ho resistito a chiedere.
Grazie.

Ciao Aps!

Il log che ho postato e' quello del provider con il quale il 3cx mi utilizza tutte e 4 le licenze.
Eutelia, l'ho utilizzato solo come test di confronto.

Comunque, con Wireshark, si puo' ottenere lo stesso risultato.
Solo che e' un po' un casino da capire come filtrare tutto il traffico.

Anzi... se ci fosse qualcuno che potesse dare due consigli su come settare al meglio i filtri di Wireshark per debuggare il sip non sarebbe male.

Ciao
 
Il log che ho postato e' quello del provider con il quale il 3cx mi utilizza tutte e 4 le licenze.

Appunto: come sei riuscito ad ottenere tale log da Eutelia? (Non mi è chiaro se l'hai richiesto e come o se l'hai semplicemente visto online...).

In merito all'uso di Wireshark non è 'impossibile' basta seguire l'intuito e leggere, leggere, leggere.
Comincia da qui: http: //wiki.3cx.com/Home/faq/sip-capture e prosegui poi qui: http://www.wireshark.org/docs/

Ciao
 
@aps wrote:Il log che ho postato e' quello del provider con il quale il 3cx mi utilizza tutte e 4 le licenze.

Appunto: come sei riuscito ad ottenere tale log da Eutelia? (Non mi è chiaro se l'hai richiesto e come o se l'hai semplicemente visto online...).
Ciao

Stasera non riesco a spiegarmi..... forse e' colpa delle troppe rostelle che ho mangiato ??? :-)

Il log che ho postato NON E' quello di Eutelia ma dell'altro provider.

Ciao
 

Inizia con 3CX – Admin

Forum statistics

Discussioni
44.658
Messaggi
233.414
Membri
78.444
Ultimo Iscritto
PCCAdmin