Pascom:Kein Ton bei Anrufen (schon wieder)

Moin,

wir haben Probleme mit unserer Pascom. Und zwar wird bei ein- und ausgehenden Anrufen kein Ton übetragen. Die verbindung wird zwar aufgebaut, aber man hört sich gegenseitig nicht. Wir haben schon einige Sachen probiert und sind langsam mit dem Latein am Ende.

Wir haben das einmal mit “Sipgate Basic” und einmal mit “Sipgate Trunking” als Amt probiert (Zwei verschiedene Anschlüsse). Bei beiden haben wir das gleiche Problem.
Wir haben einige SIP-Options probiert:

  • directmedia=no
  • progressinband=never
    -progressinband=yes

Außerdem haben wir auch schon als ausgehendes Skript “def_oubound” probiert.
Die Pascom ist direkt ans Internet angeschlossen. Lediglich eine Sophos-Firewall ist davor. Dort haben wir bereits Services=any zugelassen und alle nötigen Ports sollten auch freigegeben sein (gerne auch nochmal dazuschreiben was freigegeben werden muss ;)).

Unsere aktuellen SIP-Options:
disallow=all
allow=alaw
directmedia=no
fromdomain=sipgate.de
fromuser=250XXXXe0
insecure=invite
nat=force_rport,comedia
qualify=yes
videosupport=no

Ausschnit vom Asterisk-Log bei einem Anruf:

dynamic id: 0
– Executing [s@sub_split-user:8] Return(“Local/105@mdc_diallocation-00000062;2”, “”) in new stack
– Executing [105@mdc_diallocation:8] GotoIf(“Local/105@mdc_diallocation-00000062;2”, “0?invalid,1”) in new stack
– Executing [105@mdc_diallocation:9] GotoIf(“Local/105@mdc_diallocation-00000062;2”, “0?dynamic,1”) in new stack
– Executing [105@mdc_diallocation:10] GotoIf(“Local/105@mdc_diallocation-00000062;2”, “1?static,1”) in new stack
– Goto (mdc_diallocation,static,1)
– Executing [static@mdc_diallocation:1] Dial(“Local/105@mdc_diallocation-00000062;2”, “Local/team@mdc_locallocation-5”) in new stack
– Called Local/team@mdc_locallocation-5
– Executing [team@mdc_locallocation-2:1] Set(“Local/team@mdc_locallocation-2-00000063;2”, “PUSH(SHARED(MDC_CALLEE_PEERS,Local/101@mdc_diallocation-00000061;2))=Local/team-3@mdc_localdevice-2”) in new stack
– Executing [team@mdc_locallocation-2:2] Dial(“Local/team@mdc_locallocation-2-00000063;2”, “Local/team-3@mdc_localdevice-2”) in new stack
– Called Local/team-3@mdc_localdevice-2
– Executing [team@mdc_locallocation-5:1] Set(“Local/team@mdc_locallocation-5-00000064;2”, “PUSH(SHARED(MDC_CALLEE_PEERS,Local/105@mdc_diallocation-00000062;2))=Local/team-5@mdc_localdevice-5”) in new stack
– Executing [team@mdc_locallocation-5:2] Dial(“Local/team@mdc_locallocation-5-00000064;2”, “Local/team-5@mdc_localdevice-5”) in new stack
– Called Local/team-5@mdc_localdevice-5
– Executing [team-3@mdc_localdevice-2:1] Set(“Local/team-3@mdc_localdevice-2-00000065;2”, “DIALSTATUS=UNAVAILABLE”) in new stack
– Executing [team-3@mdc_localdevice-2:2] Set(“Local/team-3@mdc_localdevice-2-00000065;2”, “ARRAY(,delay,timeout)=0,999,0,999,0,999”) in new stack
– Executing [team-3@mdc_localdevice-2:3] GotoIf(“Local/team-3@mdc_localdevice-2-00000065;2”, “0?end”) in new stack
– Executing [team-3@mdc_localdevice-2:4] Verbose(“Local/team-3@mdc_localdevice-2-00000065;2”, “1,Dialing with delay of 0 seconds for 999 seconds”) in new stack
Dialing with delay of 0 seconds for 999 seconds
– Executing [team-3@mdc_localdevice-2:5] Ringing(“Local/team-3@mdc_localdevice-2-00000065;2”, “”) in new stack
– Executing [team-3@mdc_localdevice-2:6] Wait(“Local/team-3@mdc_localdevice-2-00000065;2”, “0”) in new stack
– Executing [team-3@mdc_localdevice-2:7] Dial(“Local/team-3@mdc_localdevice-2-00000065;2”, “SIP/IMxCVaXiZWpEWjD,999,i”) in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Called SIP/IMxCVaXiZWpEWjD
– Executing [team-5@mdc_localdevice-5:1] Set(“Local/team-5@mdc_localdevice-5-00000066;2”, “DIALSTATUS=UNAVAILABLE”) in new stack
– Executing [team-5@mdc_localdevice-5:2] Set(“Local/team-5@mdc_localdevice-5-00000066;2”, “ARRAY(,delay,timeout)=0,999,0,999,0,999”) in new stack
– Executing [team-5@mdc_localdevice-5:3] GotoIf(“Local/team-5@mdc_localdevice-5-00000066;2”, “0?end”) in new stack
– Executing [team-5@mdc_localdevice-5:4] Verbose(“Local/team-5@mdc_localdevice-5-00000066;2”, “1,Dialing with delay of 0 seconds for 999 seconds”) in new stack
Dialing with delay of 0 seconds for 999 seconds
– Executing [team-5@mdc_localdevice-5:5] Ringing(“Local/team-5@mdc_localdevice-5-00000066;2”, “”) in new stack
– Executing [team-5@mdc_localdevice-5:6] Wait(“Local/team-5@mdc_localdevice-5-00000066;2”, “0”) in new stack
– Executing [team-5@mdc_localdevice-5:7] Dial(“Local/team-5@mdc_localdevice-5-00000066;2”, “SIP/JK3KxkVCwpNvh2Z,999,i”) in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Called SIP/JK3KxkVCwpNvh2Z
– Local/team-3@mdc_localdevice-2-00000065;1 is ringing
– Local/team-5@mdc_localdevice-5-00000066;1 is ringing
– Local/team@mdc_locallocation-2-00000063;1 is ringing
– Local/team@mdc_locallocation-5-00000064;1 is ringing
– Local/101@mdc_diallocation-00000061;1 is ringing
– Local/105@mdc_diallocation-00000062;1 is ringing
– Local/105@mdc_multidial-105-00000060;1 is ringing
– Local/101@mdc_multidial-101-0000005f;1 is ringing
– SIP/IMxCVaXiZWpEWjD-00000036 is ringing
– Local/team-3@mdc_localdevice-2-00000065;1 is ringing
– SIP/JK3KxkVCwpNvh2Z-00000037 is ringing
– Local/team-5@mdc_localdevice-5-00000066;1 is ringing
– SIP/JK3KxkVCwpNvh2Z-00000037 answered Local/team-5@mdc_localdevice-5-00000066;2
– Local/team-5@mdc_localdevice-5-00000066;1 answered Local/team@mdc_locallocation-5-00000064;2
– Local/team@mdc_locallocation-5-00000064;1 answered Local/105@mdc_diallocation-00000062;2
– Local/105@mdc_diallocation-00000062;1 answered Local/105@mdc_multidial-105-00000060;2
– Local/105@mdc_multidial-105-00000060;1 answered SIP/mdc_trunk_conf-6-00000035
== Spawn extension (mdc_multidial-101, 101, 8) exited non-zero on ‘Local/101@mdc_multidial-101-0000005f;2’
== Spawn extension (mdc_diallocation, static, 1) exited non-zero on ‘Local/101@mdc_diallocation-00000061;2’
== Spawn extension (mdc_locallocation-2, team, 2) exited non-zero on ‘Local/team@mdc_locallocation-2-00000063;2’
== Spawn extension (mdc_localdevice-2, team-3, 7) exited non-zero on ‘Local/team-3@mdc_localdevice-2-00000065;2’
== Spawn extension (mdc_localdevice-5, team-5, 7) exited non-zero on ‘Local/team-5@mdc_localdevice-5-00000066;2’
== Spawn extension (mdc_locallocation-5, team, 2) exited non-zero on ‘Local/team@mdc_locallocation-5-00000064;2’
– Locally bridging SIP/mdc_trunk_conf-6-00000035 and SIP/JK3KxkVCwpNvh2Z-00000037
== Spawn extension (mdc_diallocation, static, 1) exited non-zero on ‘Local/105@mdc_diallocation-00000062;2’
== Spawn extension (mdc_multidial-105, 105, 8) exited non-zero on ‘Local/105@mdc_multidial-105-00000060;2’
– Executing [h@sub_main-201:1] Gosub(“SIP/mdc_trunk_conf-6-00000035”, “def_hangup,s,1(201,CALL)”) in new stack
– Executing [s@def_hangup:1] NoOp(“SIP/mdc_trunk_conf-6-00000035”, “>>>def_hangup:: EXTEN: 201 DIALSTATUS: QUEUESTATUS: REASON: CALL”) in new stack
== Spawn extension (sub_main-201, ext, 8) exited non-zero on ‘SIP/mdc_trunk_conf-6-00000035’

Reicht das an Log oder wird mehr benötigt?

Vielen Dank vorab und viele Grüße,
Janik

Hallo @Warmitrax

Als erstes fällt mir da UDP und Firewall ein, muss das evtl. bei der Sophos gesondert zugelassen werden?

Moin,

TCP und UDP sind freigegeben ^^.

Das ist bekannt, denke ich mal: https://community.sophos.com/kb/en-us/120284

Funktioniert es evtl. mit nat=yes?

HI,
nat=force_rport,comedia ist das “moderne” nat=yes. Leider habe ich mit Sophos nicht sonderlich viele Erfahrungen und jemand mit der gleichen Firewall im Einsatz kann dir helfen.
Bis dahin solltest du mittels tcpdump mal prüfen ob bei einem Call überhaupt eingehend ein RTP Stream ankommt (also ein UDP Stream abseits von 5060).
Empfehlen würde ich SIP ALG zu deaktivieren, prüfen ob für den UDP Traffic das reguläre Masquerading genutzt wird und keine Application Controll filter mit reinspielen.
Du schreibst im Betreff “schon wieder”, also nehme ich an es hat schonmal funktioniert. Gab es u.U. ein Update der Firewall?

Grüße,
Steve

Moin,

das Problem ist gelöst. “Schon wieder”, weil wir das schon einmal auf einer anderen Anlage hatten. Nur mit dem Trunk der Telekom. Das Problem war, dass bei Rufaufbau der UDP-Stream jedes mal von einem anderen Host kommt. Da unsere Sophos ziemlich aggressiv gegenüber unbekannten IP-Adressen ist, wird das natürlich sofort geblockt.

@rapha Danke für den Link, das werde ich mal ausprobieren. Wir können ja nicht einfach alles freischalten…das Sicherheitsrisiko ist einfach viel zu groß^^.