MobyDick mit Siproxd

Hallo!

Ich habe einen MobyDick Server hinter einer Firewall mit Siproxd am Laufen. Ich habe hierzu eine Zeile in mdc_sip_register.conf von Hand angepasst: register => 012524189:XXXXX@siptrunk.upc.at:5060/012524189
Dies war notwendig damit Siproxd die Registrierung richtig erkennt.

IP Moby-Dick:192.168.0.6
IP der Firewall/Siproxd: 192.168.0.100

Raustelefonieren funktioniert soweit einwandfrei (auch Audio).

Problem ist nur das ankommende Anrufe nicht angenommen werden, da Siproxd die IP Adresse des Sip Trunkes überschreibt und dadurch landet der Anruf im [no-auth-in] Teil der mdc_extensions.conf und wird abgelehnt(siehe Debug info):

<— SIP read from UDP:192.168.0.100:5060 —>
INVITE sip:012524189@192.168.0.6:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.100:5060;branch=z9hG4bK94786f1715adb2fcb75796c2d73b0a31
Via: SIP/2.0/UDP 195.34.155.139:5060;branch=z9hG4bKr3sb55100o6gls0vc341.1
Record-Route: <sip:siproxd@192.168.0.100:5060;lr>
From: “06644109264” <sip:06644109264@84.113.255.116>;tag=0C816FAF-523708AA00027E6C-B7204B90
To: <sip:012524189@195.34.155.212>
Call-ID: 15033469461692013153329@84.113.255.116_b2b-1
CSeq: 10 INVITE
Contact: <sip:06644109264@195.34.155.139:5060;transport=udp>
Content-Type: application/sdp
Max-forwards: 30
P-asserted-identity: <sip:06644109264@84.113.255.116>
Content-Length: 470

v=0
o=AudiocodesGW 1503285391 1503285116 IN IP4 192.168.0.100
s=Phone-Call
c=IN IP4 192.168.0.100
t=0 0
m=audio 10052 RTP/AVP 8 18 101
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
a=sendrecv
m=image 10054 udptl t38
a=T38FaxVersion:0
a=T38MaxBitRate:14400
a=T38FaxMaxBuffer:3000
a=T38FaxMaxDatagram:560
a=T38FaxRateManagement:transferredTCF
a=T38FaxUdpEC:t38UDPRedundancy

<------------->
— (13 headers 20 lines) —
Sending to 192.168.0.100:5060 (NAT)
Using INVITE request as basis request - 15033469461692013153329@84.113.255.116_b2b-1
No matching peer for ‘06644109264’ from ‘192.168.0.100:5060’
== Using SIP RTP CoS mark 5
Found RTP audio format 8
Found RTP audio format 18
Found RTP audio format 101
Found audio description format PCMA for ID 8
Found audio description format G729 for ID 18
Found audio description format telephone-event for ID 101
Capabilities: us - 0x80000008000e (gsm|ulaw|alaw|h263|testlaw), peer - audio=0x108 (alaw|g729)/video=0x0 (nothing)/text=0x0 (nothing), combined - 0x8 (alaw)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x1 (telephone-event|), combined - 0x1 (telephone-event|)
Peer audio RTP is at port 192.168.0.100:10052
Looking for 012524189 in no-auth-in (domain 192.168.0.6)
list_route: hop: <sip:siproxd@192.168.0.100:5060;lr>

<— Transmitting (NAT) to 192.168.0.100:5060 —>
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.0.100:5060;branch=z9hG4bK94786f1715adb2fcb75796c2d73b0a31;received=192.168.0.100;rport=5060
Via: SIP/2.0/UDP 195.34.155.139:5060;branch=z9hG4bKr3sb55100o6gls0vc341.1
Record-Route: <sip:siproxd@192.168.0.100:5060;lr>
From: “06644109264” <sip:06644109264@84.113.255.116>;tag=0C816FAF-523708AA00027E6C-B7204B90
To: <sip:012524189@195.34.155.212>
all-ID: 15033469461692013153329@84.113.255.116_b2b-1
CSeq: 10 INVITE
Server: pbx
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Contact: <sip:012524189@192.168.0.6:5060>
Content-Length: 0

<------------>
– Executing [012524189@no-auth-in:1] Macro(“SIP/84.113.255.116-00000001”, “emergency-check,012524189”) in new stack
– Executing [s@macro-emergency-check:1] Verbose(“SIP/84.113.255.116-00000001”, “1,macro-emergency-check:: exten: 012524189”) in new stack
macro-emergency-check:: exten: 012524189
– Executing [s@macro-emergency-check:2] Goto(“SIP/84.113.255.116-00000001”, “012524189,1”) in new stack
– Goto (macro-emergency-check,012524189,1)
– Executing [012524189@no-auth-in:2] GotoIf(“SIP/84.113.255.116-00000001”, “0?mdc_emergency,dial,1:mdc_emergency,invalid,1”) in new stack
– Goto (mdc_emergency,invalid,1)
– Executing [invalid@mdc_emergency:1] NoOp(“SIP/84.113.255.116-00000001”, “mdc_emergency:: is no emergency number”) in new stack
– Executing [invalid@mdc_emergency:2] Answer(“SIP/84.113.255.116-00000001”, “”) in new stack
Audio is at 10784
Adding codec 0x8 (alaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP

<— Reliably Transmitting (NAT) to 192.168.0.100:5060 —>
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.100:5060;branch=z9hG4bK94786f1715adb2fcb75796c2d73b0a31;received=192.168.0.100;rport=5060
Via: SIP/2.0/UDP 195.34.155.139:5060;branch=z9hG4bKr3sb55100o6gls0vc341.1
Record-Route: <sip:siproxd@192.168.0.100:5060;lr>
From: “06644109264” <sip:06644109264@84.113.255.116>;tag=0C816FAF-523708AA00027E6C-B7204B90
To: <sip:012524189@195.34.155.212>;tag=as113a60b3
Call-ID: 15033469461692013153329@84.113.255.116_b2b-1
CSeq: 10 INVITE
Server: pbx
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Contact: <sip:012524189@192.168.0.6:5060>
Content-Type: application/sdp
Content-Length: 252

v=0
o=root 1782960990 1782960990 IN IP4 192.168.0.6
s=Asterisk PBX 1.8.11.1-1digium1~squeeze
c=IN IP4 192.168.0.6
t=0 0
m=audio 10784 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv

<------------>

<— SIP read from UDP:192.168.0.100:5060 —>
ACK sip:012524189@192.168.0.6:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.100:5060;branch=z9hG4bK30b8c11cb9292a75e046f8c5ac01c991
Via: SIP/2.0/UDP 195.34.155.139:5060;branch=z9hG4bK34h70q003om06t83k780.1
Record-Route: <sip:siproxd@192.168.0.100:5060;lr>
From: “06644109264” <sip:06644109264@84.113.255.116>;tag=0C816FAF-523708AA00027E6C-B7204B90
To: <sip:012524189@195.34.155.212>;tag=as113a60b3
Call-ID: 15033469461692013153329@84.113.255.116_b2b-1
CSeq: 10 ACK
Contact: <sip:06644109264@195.34.155.139:5060;transport=udp>
Max-forwards: 30
Content-Length: 0

<------------->
— (11 headers 0 lines) —
– Executing [invalid@mdc_emergency:3] Playback(“SIP/84.113.255.116-00000001”, “beeperr”) in new stack
– <SIP/84.113.255.116-00000001> Playing ‘beeperr.alaw’ (language ‘en’)
– Executing [invalid@mdc_emergency:4] Hangup(“SIP/84.113.255.116-00000001”, “0”) in new stack
== Spawn extension (mdc_emergency, invalid, 4) exited non-zero on ‘SIP/84.113.255.116-00000001’
Scheduling destruction of SIP dialog ‘15033469461692013153329@84.113.255.116_b2b-1’ in 32000 ms (Method: ACK)
set_destination: Parsing <sip:siproxd@192.168.0.100:5060;lr> for address/port to send to
set_destination: set destination to 192.168.0.100:5060
Reliably Transmitting (NAT) to 192.168.0.100:5060:
BYE sip:06644109264@195.34.155.139:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 192.168.0.6:5060;branch=z9hG4bK2959e54a;rport
Route: <sip:siproxd@192.168.0.100:5060;lr>
Max-Forwards: 70
From: <sip:012524189@195.34.155.212>;tag=as113a60b3
To: “06644109264” <sip:06644109264@84.113.255.116>;tag=0C816FAF-523708AA00027E6C-B7204B90
Call-ID: 15033469461692013153329@84.113.255.116_b2b-1
CSeq: 102 BYE
User-Agent: pbx
X-Asterisk-HangupCause: Unknown
X-Asterisk-HangupCauseCode: 0
Content-Length: 0


<— SIP read from UDP:192.168.0.100:5060 —>
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.0.6:5060;branch=z9hG4bK2959e54a;rport
Record-Route: <sip:siproxd@192.168.0.100:5060;lr>
From: <sip:012524189@195.34.155.212>;tag=as113a60b3
To: “06644109264” <sip:06644109264@84.113.255.116>;tag=0C816FAF-523708AA00027E6C-B7204B90
Call-ID: 15033469461692013153329@84.113.255.116_b2b-1
CSeq: 102 BYE
Server: Sipwise load balancer
Content-Length: 0

<------------->
— (9 headers 0 lines) —

<— SIP read from UDP:192.168.0.100:5060 —>
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.6:5060;branch=z9hG4bK2959e54a;rport
Record-Route: <sip:siproxd@192.168.0.100:5060;lr>
From: <sip:012524189@195.34.155.212>;tag=as113a60b3
To: “06644109264” <sip:06644109264@84.113.255.116>;tag=0C816FAF-523708AA00027E6C-B7204B90
Call-ID: 15033469461692013153329@84.113.255.116_b2b-1
CSeq: 102 BYE
Server: Sipwise B2BUA
Content-Length: 0

<------------->
— (9 headers 0 lines) —
SIP Response message for INCOMING dialog BYE arrived
Really destroying SIP dialog ‘15033469461692013153329@84.113.255.116_b2b-1’ Method: ACK

Hier noch die

Ich kann MobyDick sich beim Trunk registrieren lassen (damit Siproxd die Anmeldung mit bekommt) und anschließend beim Amt siptrunk.upc.at auf 192.168.0.100 ändern.
Anschließend funktionieren auch ankommende Telefonate. Dies ist aber nur eine temporäre Lösung da ich den Vorgang wiederholen muss nach jedem reboot.

Was muss ich einstellen damit MobyDick die Verbindung von Siproxd immer akzeptiert?

mfg
Thomas

Hallo,

erst mal willkommen in der MobyDick Community. Das Problem hast Du ja schon sehr genau dokumentiert. Asterisk macht eingehend immer einen Match auf Eingeladenen User (INVITE), IP und Port. Das kann man zwar aufweichen indem man den Parameter insecure=invite,port setzt. Allerdings bleibt immer der IP Match. Am einfachsten Du legst ein Dummy Amt “proxy” an mit der IP des Proxy als Host, ohne Registrierung. Dann kannst Du bei dem Amt die eingehenden Calls Routen und beim anderen die ausgehenden. Sollte funktionieren.

LG
Mathias

Hallo Mathias!

Danke für die Antwort. Ich habe aber das Problem in der Zwischenzeit bereits selber gelöst.

Ich habe es so gemacht, dass ich in sip.conf den Paramter context in [general] auf mdc-incoming-1 gesetzt habe. Damit werden alle ankommenden Anrufe an die entsprechende Stelle in mdc_extensions.conf geleitet.
Die Überprüfung von IP, Port und User macht Siproxd und somit ist die Sicherheit der Anlage trotzdem noch gewährleistet. Ausserdem benötige ich nur eine Nummer. Deine Lösung sollte aber auch funktionieren.

mfg
Thomas

Hallo Thomas,

danke für die Rückmeldung. Ja das kann man natürlich auch so machen. Wenn Du aber in der MobyDick was anlegst wird die sip.conf wieder überschrieben. Meine Lösung kommt ohne Manipulation der sip.conf aus. Geschmacksache - Hauptsache es telefoniert ;).

LG
Mathias