Anlagenvernetzung via SIP Trunking

Hallo zusammen,
in überschaubarer Zeit (mit keinen Vorkenntnissen in Asterisk) habe ich es doch irgendwie geschafft, eine OXO mit der Mobydick zu vernetzen. Es ist möglich einen Call an die OXO zu starten… das klappt auch wunderbar.
Die AW Tabelle baut auch die richtige Verbindung zur Mobydick auf.
Der Anruf landet auch in der Mobydick, jedoch wir die eingehende “80”, die auch eine Identität in der Mobydick ist, nicht richtig “verstanden” und die Verbindung läuft ins Leere und es folgt ein auflegen.

Die Einstellungen für das Amt sind “Standard”. Außer Host, SIP als Protokoll und Type “Peer” ist nichts eingetragen.

Die Ausgehende Regel ist für Quelle und Ziel jeweils *


mobydick*CLI>
    -- Executing Macro("SIP/xxx.xxx.xxx.xxx-081d67c0", "mdc_emergency|80") in new stack
    -- Executing NoOp("SIP/xxx.xxx.xxx.xxx-081d67c0", "macro-mdc_emergency:: Exten: 80") in new stack
    -- Executing Goto("SIP/xxx.xxx.xxx.xxx-081d67c0", "80|1") in new stack
    -- Goto (macro-mdc_emergency,80,1)
    -- Executing NoOp("SIP/xxx.xxx.xxx.xxx-081d67c0", "80 ist keine Notrufnummer") in new stack
    -- Executing Hangup("SIP/xxx.xxx.xxx.xxx-081d67c0", "0") in new stack
  == Spawn extension (no-auth-in, 80, 2) exited non-zero on 'SIP/xxx.xxx.xxx.xxx-081d67c0'
mobydick*CLI>


Ich habe etwas über s-extensions gelesen - vielleicht ist dies dann auch mein Problem, jedoch überfordert mich derzeit die Lösung :frowning:

Für Hilfe wäre ich sehr verbunden.

P.S.: Mobydick -> Alcatel funktioniert einwandfrei…

Hallo,

erst mal wilkommen in der MobyDick Community. Für “ohne Asterisk Kenntnisse” bist Du eh weit gekommen ;-). Um jetzt genau sagen zu können was auf der Stecke OXO->MobyDick passiert brauchen wir etwas mehr info. Der Output von der Asterisk CLI ist schon ok. Bitte zusätzlich noch den SIP-Debug mit “sip debug peer PEER_NAME” oder “sip debug ip IP_DES_SIP_PEERS” eingeben. Dann den Output nochmal posten.

LG
Mathias

Das ging ja schnell.
Zur info: 192.168.2.11 ist die Mobydick, 192.168.2.246 die OXO.

Danke

<-- SIP read from 192.168.2.246:1042:
INVITE sip:80@192.168.2.11;user=phone SIP/2.0
Allow: INVITE, ACK, CANCEL, BYE, OPTIONS, PRACK, REFER, NOTIFY, UPDATE
Supported: 100rel,from-change,timer
User-Agent: OxO_GW_710/115.006
Session-Expires: 43200
P-Asserted-Identity: “Vorname Nachname” <sip:49000888815@192.168.2.246;user=phone>
To: <sip:80@192.168.2.11;user=phone>
From: “Vorname Nachname” <sip:49000888815@192.168.2.246;user=phone>;tag=4d15cfd48dab3bffb6385a3faad481e0
Contact: “Vorname Nachname” <sip:49000888815@192.168.2.246;transport=UDP;user=phone>
Content-Type: application/sdp
Call-ID: 22fd601bdc3a5844a2bb144dd4387912@192.168.2.246
CSeq: 14214636 INVITE
Via: SIP/2.0/UDP 192.168.2.246;rport;branch=z9hG4bKe94905c5ec4da57643da71de996ab75c
Max-Forwards: 70
Content-Length: 272

v=0
o=default 1292083681 1292083681 IN IP4 0.0.0.0
s=-
c=IN IP4 192.168.2.246
t=0 0
m=audio 32000 RTP/AVP 18 106 4 8 0
a=sendrecv
a=fmtp:18 annexb=no
a=rtpmap:106 telephone-event/8000
a=fmtp:106 0-15
a=fmtp:4 annexa=no
a=maxptime:90
a=silenceSupp:off - - - -

— (15 headers 13 lines) —
Using INVITE request as basis request - 22fd601bdc3a5844a2bb144dd4387912@192.168.2.246
Sending to 192.168.2.246 : 5060 (NAT)
Found no matching peer or user for ‘192.168.2.246:1042’
Found RTP audio format 18
Found RTP audio format 106
Found RTP audio format 4
Found RTP audio format 8
Found RTP audio format 0
Peer audio RTP is at port 192.168.2.246:32000
Found description format telephone-event
Capabilities: us - 0xe (gsm|ulaw|alaw), peer - audio=0x10d (g723|ulaw|alaw|g729)/video=0x0 (nothing), combined - 0xc (ulaw|alaw)
Non-codec capabilities: us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telephone-event)
Looking for 80 in no-auth-in (domain 192.168.2.11;user=phone)
list_route: hop: <sip:49000888815@192.168.2.246;transport=UDP;user=phone>
Transmitting (NAT) to 192.168.2.246:1042:
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.2.246;branch=z9hG4bKe94905c5ec4da57643da71de996ab75c;received=192.168.2.246;rport=1042
From: “Vorname Nachname” <sip:49000888815@192.168.2.246;user=phone>;tag=4d15cfd48dab3bffb6385a3faad481e0
To: <sip:80@192.168.2.11;user=phone>
Call-ID: 22fd601bdc3a5844a2bb144dd4387912@192.168.2.246
CSeq: 14214636 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Contact: <sip:80@192.168.2.11>
Content-Length: 0


-- Executing Macro("SIP/192.168.2.246-081d67c0", "mdc_emergency|80") in new stack
-- Executing NoOp("SIP/192.168.2.246-081d67c0", "macro-mdc_emergency:: Exten: 80") in new stack
-- Executing Goto("SIP/192.168.2.246-081d67c0", "80|1") in new stack
-- Goto (macro-mdc_emergency,80,1)
-- Executing NoOp("SIP/192.168.2.246-081d67c0", "80 ist keine Notrufnummer") in new stack
-- Executing Hangup("SIP/192.168.2.246-081d67c0", "0") in new stack

== Spawn extension (no-auth-in, 80, 2) exited non-zero on ‘SIP/192.168.2.246-081d67c0’
Scheduling destruction of call ‘22fd601bdc3a5844a2bb144dd4387912@192.168.2.246’ in 32000 ms
Reliably Transmitting (NAT) to 192.168.2.246:1042:
SIP/2.0 480 Temporarily unavailable
Via: SIP/2.0/UDP 192.168.2.246;branch=z9hG4bKe94905c5ec4da57643da71de996ab75c;received=192.168.2.246;rport=1042
From: “Vorname Nachname” <sip:49000888815@192.168.2.246;user=phone>;tag=4d15cfd48dab3bffb6385a3faad481e0
To: <sip:80@192.168.2.11;user=phone>;tag=as4a8c46e5
Call-ID: 22fd601bdc3a5844a2bb144dd4387912@192.168.2.246
CSeq: 14214636 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Content-Length: 0


mobydick*CLI>
<-- SIP read from 192.168.2.246:1042:
ACK sip:80@192.168.2.11;user=phone SIP/2.0
Call-ID: 22fd601bdc3a5844a2bb144dd4387912@192.168.2.246
From: “Vorname Nachname” <sip:49000888815@192.168.2.246;user=phone>;tag=4d15cfd48dab3bffb6385a3faad481e0
To: <sip:80@192.168.2.11;user=phone>;tag=as4a8c46e5
Via: SIP/2.0/UDP 192.168.2.246;rport;branch=z9hG4bKe94905c5ec4da57643da71de996ab75c
CSeq: 14214636 ACK
Content-Length: 0

— (7 headers 0 lines) —

Servus,

Danke

gerne.

<sip:49000888815@192.168.2.246;user=phone>
To: <sip:80@192.168.2.11;user=phone>

hier sieht man wie 49000888815 die 80 einlädt. Asterisk versucht jetzt zu ermitteln welches Peer das wohl ist. Das macht es anhand des Namen, der IP und des Port des Peers. IP und Port würden passen nur die 49000888815 kann er nicht zuordnen. Da man aber in jedem Fall Notrufe absetzten können muss schmeißt MobyDick den Call in das Notrufsystem. Eine Notrufnummer mit 80 gibt es aber nicht. Da dieses Problem bei quasi jedem z.B. SIP Provider so wäre kann man die Peerermittling “aufweichen”. Setze bei dem Amt in den Optionen “insecure=invite” dann fällt bei der Peerqualifizierung der Name, also das 49000888815 fällt nicht mehr ins Gewicht. Dann sollte es klappen.

LG
Mathias

Moin,

das wars leider nicht. Verhalten ist identisch. :frowning:

Nachtrag,

der hinweis mit “insecure” war richtig, der notwendige Parameter ist aber “very”.
In der Tabelle “Eingehende Rufe” muss dann noch stehen:
Quelle: *
Ziel: *
Durchwahl: ${EXTEN}

nun gehts in beide Richtungen.
Was mich noch interessieren würde, wie kann ich nun es schaffen, dass wenn ich über meinen Trunc auf der Mobydick reinkomme, ich mir eine Routingeintrag bau, der es mir laubt ein Amt der Mobydick zu nutzen …?

Hallo,

der hinweis mit “insecure” war richtig, der notwendige Parameter ist aber “very”.

ja, very weicht dann zum invite auch noch den variierenden port auf. Scheinbar wird nicht immer 5060 benutzt. Egal, Hauptsache es geht ;-).

wie kann ich nun es schaffen, dass wenn ich über meinen Trunc auf der Mobydick reinkomme, ich mir eine Routingeintrag bau, der es mir laubt ein Amt der Mobydick zu nutzen …?

Das sollte mit Deiner * * Regel bereits funktionieren. Hänge mal an deinen Anrufe von der OXO einfach wieder eine 0 (oder was auch immer die ausgehende Amt-Regel als Prefix hat) und dann weiter die externe Nummer; dann erst abheben.

Eingehende * * Sind immer etwas gefährlich. Du solltest das einschränken.

Eine schönere Variante wäre DISA. DISA macht wieder ein Freizeichen und man kann dann weiter wählen. Dazu musst Du unter Module Skripte ein neues Skript mit einer Durchwahl erstellen. Darin dann z.B: “exten => s,1,DISA(1234|internal)”. Dann würde das DISA das Passwort 1234 abfragen, dann könntest Du eine Nummer eintippen, diese würde dann im internal Kontext gewählt werden (gleicher Kontext wie z.B. interne Telefone). Eine gute Seite für das Scripting ist http://www.voip-info.org .

LG
Mathias