Einstellanweisungen für VoIP-Geräte Asterisk PJSIP

Einstellungsbeispiel zum Verknüpfen Asterisk PJSIP mit Zadarma.

Die im Beispiel angegebenen Daten:

    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.

  • 101 Interne Nummer in Asterisk PJSIP, mit der das Softphone / IP-Telefon verbunden ist, um eingehende und ausgehende Anrufe zu empfangen.

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.