[Problem] Mehrwertnummer von CNS24 über Asterisk routen

markus140

Neuer User
Mitglied seit
6 Jun 2014
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe leider schon wieder ein Problem mit meinem Asterisk. Nachdem jetzt meine VoIP Anbieter und meine Software richtig arbeitet schaffe ich es nicht eínen Call von CNS24 über eine 0900er Nummer richtig durchzuschleifen.

CNS24 routet einen Anrufer via IP zu unserem Asterisk Server. Wir sollten diesen entgegen nehmen und mit der richtigen Endstelle verbinden.

Ich bekomme aber laut Logfile eine SIP/Error 404 Unauthorized Meldung zurückgeworfen. From Telefonnummer ist der Anrufer, To Telefonnummer ist der interne Teilnehmer (DDI wird angehängt oder auch nicht - scheint alles soweit ok). Das Einzige Problem ist, dass ich die 0900 nicht authorisieren kann.

Code:
<--- SIP read from UDP:217.10.68.150:5060 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP <meine_server_ip>:5060;branch=z9hG4bK250a21b4
From: <sip:<AnrufeTelefonNr>@<meine_server_ip>>;tag=as18b36004
To: <sip:49900XXXXXXX@<meine_server_ip>>;tag=86e53dd608d1c001e0b8060625977563.d7d1

Meine extensions (ich habe die extensions.conf in einer MySQL Datenbank) sehen folgendermaßen konfiguriert:

Code:
'ID '  'context', 'exten',       'priority', 'app ', 'appdata'
'289', 'home', '49900XXXXXXX',    '1', 'Dial', 'SIP/101
'290', 'home', '49900XXXXXXX101', '1', 'Dial', 'SIP/101'
'290', 'home', '49900XXXXXXX102', '1', 'Dial', 'SIP/102'

Es sollte also der Anruf von der 0900 Nummer weitergeleitet werden.

Sollte ich es falsch verstanden haben und ein sip.conf eintrag angelegt werden müssen habe ich außerdem noch in meiner SIP Tabelle einen Eintrag gemacht:

Code:
name: 49900XXXXXXX
defaultuser: 49900XXXXXXX
regexten: 49900XXXXXXX
secret: test
context: home
canreinvite: yes
host: 83.125.45.29 ; IP von CNS
ipaddr: 83.125.45.29
insecure: invite
port: 5060
disallow: all
allow: g729;ilbc;gsm;ulaw;alaw

Zusätzlich gibt es noch für jede Durchwahl einen eigenen Eintrag (49900XXXXXXX101, 49900XXXXXXX102,..)

Ich denke derzeit nicht, dass ein Eintrag in sip.conf überhaupt sinn macht. Es kommt ja ein Call und keine Registrierung rein, außerdem hat ein Call auch kein secret.

Hat jemand Erfahrung wie man Anrufe auf 0900 Nummern, die per SIP Call in den Asterisk kommen, richtig routet?

Vielen Dank!

Markus
 
Der Eintrag in der sip.conf macht durchaus Sinn. Nämlich wird der Anruf anhand des host authentifiziert, dafür sorgt das insecure=invite. Allerdings bremst Du das ganze durch Angabe eines port wieder aus. Solltest Du diese Angabe für abgehende Gespräche brauchen, müsstest Du zusätzlich insecure=invite,port setzen.
Als Alternative zu insecure kannst Du auch secret durch remotesecret ersetzen, das wird dann nur für abgehend verwendet.
 
vielen Dank für die schnelle Info. Den Port brauche ich nicht, dachte nur es wäre gut ihn anzugeben.

ich denke, dass remotesecret genau das ist wonach ich gesucht habe. Gebe dann später/morgen Bescheid ob mein Problem damit gelöst ist.
 
Wir sind zwar ein wenig weiter (das Routing war noch falsch eingestellt), jedoch können die Anrufe nicht wie erwartet angenommen werden. Inzwischen ist es zwar möglich die 0900 Nummer anzurufen und richtig gerootet zu werden wenn der Anruf als sip Eintrag vorhanden ist. Sollte die Telefonnummer des Anrufers jedoch nicht konfiguriert sein (was der Standardfall wäre) ist ein Anruf nicht möglich.

Das logfile meldet:
492212XXXXXX: echte Telefonnummer hinter der 0900 Nummer
43XXXXXXXXXX: Anrufertelefon Nummer

Code:
[Jul 23 13:16:00] NOTICE[11400]: chan_sip.c:22518 handle_request_invite: Sending fake auth rejection for device "43XXXXXXXXXX"<sip:43XXXXXXXXXX@<cns_server_ip>;tag=95ffcd055e0f78f7d5d397020e89288db8fea727

SIP/2.0 403 Forbidden (Bad auth)
Via: SIP/2.0/UDP <cns_server_ip>:5060;branch=z9hG4bK-2838-1406121360-4103-308;received=<cns_server_ip>;rport=5060
From: "43XXXXXXXXXX"<sip:43XXXXXXXXXX@<cns_server_ip>>;tag=95ffcd055e0f78f7d5d397020e89288db8fea727
To: <sip:492212XXXXXX@<unsere_server_ip>:5060>;tag=as2d06c161

Die sip Einträge für cns:

Code:
name: incoming
defaultuser: 492212XXXXXX
regexten: null
secret: null
context: home
canreinvite: yes
host: <IP von CNS>
ipaddr: null
insecure: invite
port: 5060
disallow: all
allow: g729;ilbc;gsm;ulaw;alaw
dtmfmode: rfc2833
fromdomain: <unsere_server_ip> (wurde auch mit cns ip getestet)
nat: yes
qualify: yes
type: friend
outboundproxy: <unsere_server_ip> (wurde auch mit cns ip getestet)
allowguest: yes (in der Hoffnung, dass dies alle incomings von cns zulässt, wurde auch mit no probiert - hat aber keine Auswirkung)

und die extensions Einträge dazu:

Code:
'297', 'home', '492212XXXXXX', '1', 'Dial', 'SIP/101'
'298', 'home', '492212XXXXXX101', '1', 'Dial', 'SIP/101' 
'296', 'home', '_43ZX.', '1', 'Dial', 'SIP/101'

Wie würde eine generelles whitelisting für die ip von cns einstellen?
Wir wollen alle Calls, die von CNS kommen, egal welche call_id annehmen und weiterrouten.
 
Zuletzt bearbeitet:
Für ankommende Anrufe reicht die Angabe von

Code:
name: incoming
context: home
host: <IP von CNS>
disallow: all
allow: g729;ilbc;gsm;ulaw;alaw
dtmfmode: rfc2833
nat: yes
type: [COLOR="#FF0000"]peer[/COLOR]

Alle anderen Felder leer lassen.

Wenn Du tatsächlich allowguest=yes nutzen möchtest, muss das in den [general] Bereich der sip.conf. Dann kannst Du Dir die Peer Definition sparen, die Anrufe landen dann in dem im [general] definierten Context (idR. "default").
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.