Einstellungsbeispiel zum Verknüpfen Asterisk PJSIP mit Zadarma.
Die im Beispiel angegebenen Daten:
- 101 Interne Nummer in Asterisk PJSIP, mit der das Softphone / IP-Telefon verbunden ist, um eingehende und ausgehende Anrufe zu empfangen.
111111: Ihre SP-Nummer aus Ihren Profile.
Password: Ihr Kennwort für SIP-Nummer aus Menü "Einstellungen - SIP Einstellungen" in Ihrem Profile.
1234-100: Ihre interne PBX-Nummer aus Ihren Profile
Password: Ihr Kennwort für interne PBX-Nummer ausIhren Profile.
Einstellungsbeispiel:
Ausgehende Anrufe von interner Nummer 101 werden an Trunk 111111 weitergeleitet. Eingehende Anrufe werden durch Registrierung empfangen und an interne Nummer 101 weitergeleitet.
Ausgehende Anrufe von interner Nummer 101 werden an Trunk 1234-100 weitergeleitet. Eingehende Anrufe werden durch Registrierung empfangen und an interne Nummer 101 weitergeleitet.
pjsip.conf bearbeiten:
[udp-transport] type=transport protocol=udp bind=0.0.0.0 [111111] type=registration transport=udp-transport outbound_auth=111111_auth server_uri=sip:sip.zadarma.com client_uri=sip:111111@sip.zadarma.com retry_interval=60 expiration=120 contact_user=111111 [111111_auth] type=auth auth_type=userpass password=Password username=111111 [111111] type=aor contact=sip:sip.zadarma.com [111111] type=endpoint transport=udp-transport context=zadarma-in disallow=all allow=alaw allow=ulaw outbound_auth=111111_auth aors=111111 from_user=111111 from_domain=sip.zadarma.com direct_media=no [111111] type=identify endpoint=111111 match=sip.zadarma.com
[udp-transport] type=transport protocol=udp bind=0.0.0.0 [1234-100] type=registration transport=udp-transport outbound_auth=1234-100_auth server_uri=sip:pbx.zadarma.com client_uri=sip:1234-100@pbx.zadarma.com retry_interval=60 expiration=120 contact_user=1234-100 [1234-100_auth] type=auth auth_type=userpass password=Password username=1234-100 [1234-100] type=aor contact=sip:pbx.zadarma.com [1234-100] type=endpoint transport=udp-transport context=zadarma-in disallow=all allow=alaw allow=ulaw outbound_auth=1234-100_auth aors=1234-100 from_user=1234-100 from_domain=pbx.zadarma.com direct_media=no [1234-100] type=identify endpoint=1234-100 match=pbx.zadarma.com
Interne Nummer 101, mit der das Softphone / IP-Telefon verbunden wird, um eingehende und ausgehende Anrufe entgegenzunehmen.
[101]
type=endpoint
transport=udp-transport
context=zadarma-out
disallow=all
allow=alaw
allow=ulaw
auth=101
aors=101
[101]
type=auth
auth_type=userpass
password=101
username=101
[101]
type=aor
max_contacts=10
Das eingehende und ausgehende Routing wird in der Datei extensions.conf konfiguriert:
[zadarma-in] exten => 111111,1, Dial(PJSIP/101) ; Alle eingehende Anrufe von Trunk 111111 gehen auf interne Nummer 101 [zadarma-out] exten => _XXX,1,Dial(PJSIP/${EXTEN}) ; Anrufe an dreistellige interne Asterisk-Nummern exten => _XXX.,1,Dial(PJSIP/${EXTEN}@111111) ; Anrufe an vier- oder mehrstellige Nummern über Trunk 111111
[zadarma-in] exten => 1234-100,1, Dial(PJSIP/101) ; Alle eingehende Anrufe von Trunk 1234-100 gehen auf interne Nummer 101 [zadarma-out] exten => _XXX,1,Dial(PJSIP/${EXTEN}) ; Anrufe an dreistellige interne Asterisk-Nummern exten => _XXX.,1,Dial(PJSIP/${EXTEN}@1234-100) ; Anrufe an vier- oder mehrstellige Nummern über Trunk 1234-100
Standardeinstellung abgeschlossen.
P-Asserted-Identity (für fortgeschtittene Benutzer).
Für ausgehende Anrufe können Sie den SIP-Header P-Asserted-Identity verwenden, um die Callerid aus der Liste der angeschlossenen Nummern auszuwählen.
Die Nummer aus dem P-Asserted-Identity-Header wird priorisiert verwendet. Wenn der Header nicht gewählt wird oder eine falsche/nicht angeschlossene Nummer festgelegt ist, wird die Standardnummer verwendet.
[zadarma-out]
exten => _XXX.,1,Set(_SET_PAI=)
exten => _XXX.,n,Dial(PJSIP/${EXTEN}@111111,,b(add_header_pai^add^1))
[add_header_pai]
exten => add,1,Set(PJSIP_HEADER(add,P-Asserted-Identity)=${SET_PAI})
exten => add,n,Return()
Wenn Sie mehrere direkte Nummern haben, können Sie jeder Nummer einen Namen zuweisen, z. B. manchester und London , und das eingehende Routing anhand dieses Parameters konfigurieren. Der "Name" der virtuellen Nummer wird im Parameter CALLERID (name) angezeigt.
Im nächsten Beispiel werden Anrufe von manchester an interne Nummer 101 geleitet, Anrufe von London an die Nummer 102, und alle anderen Anrufe werden von asterisk abgelehnt.
[zadarma-in]
exten => _X.,1,GotoIf($["${CALLERID(name)}" = "manchester"]?2:3)
exten => _X.,2,Dial(PJSIP/101)
exten => _X.,3,GotoIf($["${CALLERID(name)}" = "london"]?4:5)
exten => _X.,4,Dial(PJSIP/102)
exten => _X.,5,Busy
Ihre virtuelle Nummer, an der der Anruf kam, wird im Header CALLED_DID übertragen. Sie können das eingehende Routing anhand dieses Parameters konfigurieren.
Im nächsten Beispiel werden Anrufe von der Nummer 442045770077 an interne Nummer 101 geleitet, Anrufe von der Nummer 442037691880 an die Nummer 102 und alle anderen Anrufe werden von asterisk abgelehnt
[zadarma-in]
exten => _X.,1,GotoIf($["${PJSIP_HEADER(read,CALLED_DID)}" = "442045770077"]?2:3)
exten => _X.,2,Dial(PJSIP/101)
exten => _X.,3,GotoIf($["${PJSIP_HEADER(read,CALLED_DID)}" = "442037691880"]?4:5)
exten => _X.,4,Dial(PJSIP/102)
exten => _X.,5,Busy
Einstellung abgeschlossen.
Einstellungsbeispiel Nr2 (SIP URI)
Befindet sich der Server mit Asterisk unter einer "weißen" IP-Adresse (nicht hinter einem Router, z. B. in einem Rechenzentrum), können eingehende Anrufe ohne Registrierung unter Verwendung des SIP-URI-Schemas empfangen werden. Die im Beispiel angegebenen Daten:
- 15555555555 - Ihre virtuelle Nummer Zadarma.
- 2.20.190.41 -Die IP-Adresse Ihres Servers mit Asterisk.
In Ihrem Profile im Menü "Einstellungen - Virtuelle Nummern" leiten Sie die Anrufe von virtuellen Nummer an einen externen Server (SIP-URI) im Format 15555555555@2.20.190.41
Die Datei pjsip.conf bearbeiten
[15555555555]
type=aor
contact=sip:sip.zadarma.com
[15555555555]
type=endpoint
transport=udp-transport
context=zadarma-in
disallow=all
allow=alaw
allow=ulaw
aors=15555555555
direct_media=no
[15555555555]
type=identify
endpoint=15555555555
match=sip.zadarma.com
match=sipurifr.zadarma.com
match=sipde.zadarma.com
match=sipuriny.zadarma.com
Routing für eingehende Anrufe in der Datei extensions.conf
[zadarma-in]
exten => 15555555555,1, Dial(PJSIP/101)
Einstellung abgeschlossen.
Verschlüsselung aktivieren
1. Fügen Sie in der Datei pjsip.conf Folgendes hinzu
[transport-z]
type=transport
protocol=tls
verify_server=no
bind=0.0.0.0:7065
method=tlsv1_2
2. Unter server_uri müssen Sie nach der Serveradresse :5061 angeben
Einstellungsbeispiel bei Verwendung der Autorisierung nach IP-Adresse.