Rulăm o instanță FreeSwitch la gazda A, care plasează apeluri către o instanță 3CX care rulează la gazda B, folosind modulul SOFIA.
Totul funcționează bine, cu excepția blocării: Pachetul BYE trimis de gazda A nu este acceptat de gazda 3CX cu utilizatorul 404 necunoscut.
După primul apel (de lucru), nu mai pot fi inițiate apeluri, deoarece linia este ocupată până când repornim întregul serviciu de comutare gratuită.
Gateway-ul este configurat astfel:
<include>
<gateway name="default">
<param name="realm" value="<host B>:5059"/>
<param name="username" value="59"/>
<param name="password" value="<the password>"/>
<param name="register-transport" value="udp"/>
<param name="extension" value="59"/>
<param name="from-user" value="59"/>
<param name="expire-seconds" value="800"/>
<param name="register" value="true"/>
<param name="register-transport" value="udp"/>
<param name="context" value="public"/>
<param name="caller-id-in-from" value="falseâ/>
<param name="extension-in-contact" value="true"/>
<param name="cid-type" value="rpid"/>
</gateway>
</include>
Autorizarea funcționează pentru toate celelalte pachete, cu excepția celui BYE.
De asemenea, am activat urmărirea SIP și am verificat că antetul Proxy-Authorization este setat corect:
BYE sip:<număr de destinație>@<gazdă B>:5059 SIP/2.0
Prin: SIP/2.0/UDP <gazdă A>:5059;rport;branch=z9hG4bKpB6QZ9aU643pH
Atacant maxim: 70
De la: „pi” <sip:59@<gazdă B>:5059>;tag=jXU3S8avD9tQH
Către: <sip:<număr de destinație>@<gazdă B>:5059>;tag=4442ed0d
ID de apel: fac6951d-4ab5-123a-0d9b-dca632517e68
CSeq: 37449519 BYE
Agent utilizator: FreeSWITCH-mod_sofia/1.10.6-release-7-1ff9d0a60e~32bit
Permite: INVITARE, ACK, BYE, ANULARE, OPȚIUNI, MESAJ, INFORMAȚII, ACTUALIZARE, ÎNREGISTRARE, CONSULTARE, NOTIFICARE
Suportat: temporizator, cale, înlocuiește
Autorizare proxy: Digest username="59", realm="3CXPhoneSystem", nonce="414d535960cc5fda38:061e13fce3696c0ade88da4c548cab3a", algorithm=MD5, uri="sip:<dest number>@<9>, răspuns 9d75bd5d59cc7b2111e005259d04aa65"
Motiv: Q.850;cause=16;text="NORMAL_CLEARING"
Lungimea conținutului: 0
Inspectând pachetele SIP din partea 3CX, ni s-a spus că pachetul BYE nu trebuie deloc autorizat pentru a-l face să funcționeze.
Așadar, am adăugat următoarea setare la profilul în uz:
<param name="auth-all-packets" value="false"/>
Dar Sofia (sau Freeswitch?) autorizează totuși pachetul BYE.
Ne poate ajuta cineva? Asta ar fi grozav!