[Problem] Patton 4120 mit mehreren Routing-Zielen intern möglich?

thes_mge

Neuer User
Mitglied seit
13 Jul 2012
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Hallo Forum,

habe im Netz leider tatsächlich nichts dazu gefunden.
Folgendes Problem: ich habe netzseitig (also PSTN) einen ISDN-Anschluss hinter einer TK-Anlage. Intern route ich ein paar Durchwahlen auf einen Lync (läuft alles soweit) und habe eine Durchwahl für ein Faxgerät, welches an einem Grandstream HT-502 hängt.

Jetzt möchte ich meine Durchwahlen (-6680 bis -6684 und -6686 bis -6689) auf den Lync routen und die Durchwahl -6685 auf das Grandstream. Bisher klappt allerdings nur entweder, oder. Sobald ich in meine Routingregel Richtung SIP (intern) eine weitere Bedingung eintrage, funktioniert nichts mehr. Trage ich nur eine von beiden Bedingungen ein, geht wenigstens das. Je nach Regel also entweder Voice ODER Fax.

Ich bräuchte von Euch einen Anstoß, wie ich das Problem lösen kann, habe es schon mit Hunt-Groups probiert (mit der Bedingung der nicht zugeordneten Rufnummer bzw no-route-to destination), hat aber auch nicht den gewünschten Erfolg gebracht. Anbei mal meine aktuelle Config aus dem 4120. Bitte nicht wundern über die Anpassung von Rufnummern über die Funktionen etc. (wir nutzen diesen Anschluss nur noch im Ausnahmefall, da wir umfirmiert haben und offiziell andere Rufnummern haben, diese Rufnummern eingehend aber noch erreichbar sein sollen).

Code:
#----------------------------------------------------------------#
#                                                                #
# SN4120/2BIS4V                                                  #
# R6.8 2015-07-09 H323 SIP                                       #
# 2015-10-30T18:08:32                                            #
# SN/00xxxxxxxxxx                                                #
# Generated configuration file                                   #
#                                                                #
#----------------------------------------------------------------#

cli version 3.20
gui type basic
clock local default-offset +01:00
dns-client server 192.168.xx.231
dns-client server 192.168.xx.232
dns-client cache-max-age 3600
webserver port 80 language en
sntp-client
sntp-client server primary 192.168.xx.231 port 123 version 4
sntp-client server secondary 192.168.xx.232 port 123 version 4

syslog-client

  remote 192.168.xx.249 514
    facility kernel severity debug
    facility user-level severity debug
    facility daemon severity debug
    facility sip severity debug
    facility isdn severity debug

configure
system hostname SRV-VOIPGATEWAY1

system

  ic voice 0

system
  clock-source 1 bri 0 0

profile ppp default

profile tone-set default

profile voip default
  codec 1 g711ulaw64k rx-length 20 tx-length 20 no-silence-suppression
  codec 2 g711alaw64k rx-length 20 tx-length 20 no-silence-suppression
  dtmf-relay rtp

profile pstn default

profile sip default
  no autonomous-transitioning

profile aaa default
  method 1 local
  method 2 none

context ip router

  interface eth0
    ipaddress 192.168.xx.244 255.255.255.0

context cs switch

  routing-table called-e164 RT_TO_SIP
    route .%668[^5] dest-interface IF_SIP_LYNC "eingehend Gruppe complex"

  routing-table calling-e164 RT_TO_PSTN
    route default dest-interface IF_ISDN_00 ausgehend

  routing-table called-e164 RT_TO_SIP_FAX
    route .%6685 dest-interface IF_SIP_SRVFAX "eingehend Fax complex"

  mapping-table calling-e164 to calling-e164 "ausgehend 4stellig"
    map (.%) to 6680

  mapping-table called-e164 to called-e164 "ausgehend called-e164 normalisieren"
    map (.49)% to 00049%

  mapping-table called-e164 to called-e164 "eingehend auf Gruppe"
    map default to +49xxxxxx6680

  mapping-table called-e164 to called-e164 "eingehend auf FAX"
    map (.%)6685 to +49xxxxxx6685

  mapping-table calling-e164 to calling-e164 "eingehend calling-e164-anpassen"
    map ..(.%) to +49\1

  complex-function ausgehend
    execute 1 "ausgehend 4stellig"
    execute 2 "ausgehend called-e164 normalisieren"

  complex-function "eingehend Gruppe complex"
    execute 1 "eingehend auf Gruppe"
    execute 2 "eingehend calling-e164-anpassen"

  complex-function "eingehend Fax complex"
    execute 1 "eingehend auf FAX"
    execute 2 "eingehend calling-e164-anpassen"

  interface isdn IF_ISDN_00
    route call dest-service SER_HUNT_SIP
    dtmf-dialing

  interface isdn IF_ISDN_01
    route call dest-table RT_TO_SIP

  interface sip IF_SIP_LYNC
    bind context sip-gateway GW_LYNC
    route call dest-table RT_TO_PSTN
    remote srv-com1.xxxxxxx.intern 5068
    local srv-voipgateway1.xxxxxxx.intern 5060
    early-connect
    early-disconnect
    address-complete-indication accept set

  interface sip IF_SIP_SRVFAX
    bind context sip-gateway GW_SRVFAX
    route call dest-table RT_TO_PSTN
    remote srv-fax1.xxxxxxxx.intern 5062
    local srv-voipgateway1.xxxxxxxx.intern 5062

  service hunt-group SER_HUNT_PSTN
    cyclic
    timeout 6
    drop-cause normal-unspecified
    drop-cause no-circuit-channel-available
    drop-cause network-out-of-order
    drop-cause temporary-failure
    drop-cause switching-equipment-congestion
    drop-cause access-info-discarded
    drop-cause circuit-channel-not-available
    drop-cause resources-unavailable
    route call 1 dest-interface IF_ISDN_00

  service hunt-group SER_HUNT_SIP
    drop-cause normal-unspecified
    drop-cause no-circuit-channel-available
    drop-cause network-out-of-order
    drop-cause temporary-failure
    drop-cause switching-equipment-congestion
    drop-cause access-info-discarded
    drop-cause circuit-channel-not-available
    drop-cause resources-unavailable
    drop-cause service-or-option-not-available
    drop-cause incompatible-destination
    drop-cause unallocated-number
    unavailable drop no-route-to-destination
    route call 1 dest-table RT_TO_SIP
    route call 2 dest-table RT_TO_SIP_FAX

context cs switch
  no shutdown

location-service SER_LYNC
  domain 1 xxxxxxxxx.intern 5070
  match-any-domain

  identity-group default

    call outbound
      preferred-transport-protocol tcp

context sip-gateway GW_LYNC

  interface SIP
    bind interface eth0 context router port 5060

context sip-gateway GW_LYNC
  bind location-service SER_LYNC
  notify check-sync accept
  no shutdown

context sip-gateway GW_SRVFAX

  interface srv-fax1.xxxxxxxxx.intern
    bind interface eth0 context router port 5062

context sip-gateway GW_SRVFAX
  notify check-sync accept
  no shutdown

port ethernet 0 0
  medium auto
  encapsulation ip
  bind interface eth0 router
  no shutdown

port bri 0 0
  clock slave
  encapsulation q921

  q921
    permanent-layer2
    uni-side user
    encapsulation q931

    q931
      protocol dss1
      uni-side user
      bchan-number-order ascending
      encapsulation cc-isdn
      bind interface IF_ISDN_00 switch

port bri 0 0
  no shutdown

port bri 0 1
  clock auto
  encapsulation q921

  q921
    permanent-layer2
    uni-side user
    encapsulation q931

    q931
      protocol dss1
      uni-side user
      bchan-number-order ascending
      encapsulation cc-isdn

port bri 0 1
  no shutdown

P.S.: ich habe IP-Adressen, Rufnummern oder Domain-Namen mit "xxxxx" unkenntlich gemacht, wollte dann doch nicht alles ins Netz pusten. ;)



Vielen Dank für Eure Hilfe und viele Grüße
Matze.
 
Meine letzte Patton Config ist ziiiiiemlich lang her, aber kannst Du nicht einfach die route .%6685 als zweite in die Tabelle RT_TO_SIP mit einfügen?
 
Hallo rentier-s,

danke für Deine Antwort.
Hatte diesen Gedanken auch als erstes gehabt. Liegt auch Nahe und man geht davon aus, dass es auch "by-design" so sein sollte (ansonsten macht es ja auch keinen Sinn, dass ich mehrere Einträge pro Routingtabelle eintragen kann).
Wenn ich das allerdings so mache, dann routet mein Patton gar nicht mehr. Trage ich nur einen Eintrag ein (also je nachdem für das Fax ".%6685" oder für den Lync ".%668[^5]"), dann wird auch genau dorthin geroutet.

Woran könnte das noch liegen? Hab ich da einen Denkfehler?


Viele Grüße
Matze.
 
Hallo Matze,

was 'sagt' denn ein
Code:
debug call-router
?

Hier sollte man eigentlich mehr sehen.

Gruß,
Sebastian
 
Hallo Sebastian,

wenn ich das Routing wie von rentier-s vorgeschlagen anpasse, also auf:

Code:
 routing-table called-e164 RT_TO_SIP
    route .%668[^5] dest-interface IF_SIP_LYNC "eingehend Gruppe complex"
    route .%6685 dest-interface IF_SIP_SRVFAX "eingehend Fax complex"

dann erhalte ich als Ergebnis

Code:
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] State: OVERLAP RECEIVING, Event: TIMEOUT	192.168.xx.244	03/11 09:52:27.865	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] Set state to INCOMING PROCEEDING	192.168.xx.244	03/11 09:52:27.865	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] Change datapath direction to Send/Receive.	192.168.xx.244	03/11 09:52:27.880	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] >> [080002]
CALL PROCEEDING (DSS1 User)
  [1E028582]
  Progress indicator : destination address is non-ISDN
    private network serving remote user - CCITT
	192.168.xx.244	03/11 09:52:27.890	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] Hold State: IDLE, Hold Event: PEER RELEASED	192.168.xx.244	03/11 09:52:28.215	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] State: INCOMING PROCEEDING, Event: PEER RELEASED	192.168.xx.244	03/11 09:52:28.220	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] Set state to DISCONNECT REQUEST	192.168.xx.244	03/11 09:52:28.220	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] Change datapath direction to Receive Only.	192.168.xx.244	03/11 09:52:28.230	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] AOC-S User << Call Clearing	192.168.xx.244	03/11 09:52:28.235	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] AOC-D User << Call Clearing	192.168.xx.244	03/11 09:52:28.235	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] AOC-E User << Call Clearing	192.168.xx.244	03/11 09:52:28.240	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] >> [080045]
DISCONNECT (DSS1 User)
  [0802859C]
  Cause : invalid number format
    private network serving remote user - CCITT - Q.931
	192.168.xx.244	03/11 09:52:28.240	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [IF_ISDN_00] << Message: primitive=50	192.168.xx.244	03/11 09:52:28.350	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] << [08004D]
RELEASE (DSS1 User)
  [0802809C]
  Cause : invalid number format
    user - CCITT - Q.931
	192.168.xx.244	03/11 09:52:28.355	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] Releasing b-Channel 0 (Datapath termination f000000)	192.168.xx.244	03/11 09:52:28.355	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] Remove termination	192.168.xx.244	03/11 09:52:28.360	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] State: DISCONNECT REQUEST, Event: TERMINAL RELEASE IND	192.168.xx.244	03/11 09:52:28.360	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] Set state to NULL	192.168.xx.244	03/11 09:52:28.370	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [EP IF_ISDN_00-00a85828] Change datapath direction to Inactive.	192.168.xx.244	03/11 09:52:28.375	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [IF_ISDN_00] CLEARING CALL IF_ISDN_00-00a85828	192.168.xx.244	03/11 09:52:28.375	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [IF_ISDN_00] Removed endpoint IF_ISDN_00-00a85828	192.168.xx.244	03/11 09:52:28.380	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [IF_ISDN_00] Destroying finished calls.	192.168.xx.244	03/11 09:52:28.380	
<207>Nov 03 09:52:27 SRV-VOIPGATEWAY1 ISDN: [IF_ISDN_00] Destroyed endpoint IF_ISDN_00-00a85828	192.168.xx.244	03/11 09:52:28.385

egal, ob ich dann die "Lync-Durchwahlen" oder die Fax-Durchwahl anwähle.
Nehme ich bspw. die Fax-Bedingung (also .%6685) wieder raus und habe nur eine Bedingung in der Routenkonfiguration, dann funktioniert es in die entsprechende Richtung und statt dem "invalid number format" sehe ich ein sauberes INVITE Richtung Lync mit E164-konformen Rufnummern, Headern und allem, was das SIP-Leben so schön macht. ;)

Vielen Dank für Eure Hilfe und viele Grüße
Matze.
 
Hallo Matze,

hmm. Die Ausgabe bringt uns nicht so richtig weiter. Wenn ich mich auf einem Gerät per telnet einlogge und dann debugge, erhalte ich so etwas:

Code:
rechner:~ user$ telnet smartnode
Trying xx.xx.xx.xx...
Connected to abc.def.
Escape character is '^]'.

login: admin
password: 
smartnode>enable 
smartnode#debug call-router
smartnode#21:59:34  CR    > [switch] Routing-Lookup:
21:59:34  CR    >   Execute all entries in table ANALOG0-precall-service
21:59:34  CR    >   Find best-matching called- entry in table RTfromANALOG0
21:59:34  CR    >     00: Prefix Timeout Expression: called-e164 of  incompletely matches ^(?:.)
21:59:34  CR    >     01: Prefix Timeout Expression: called-e164 of  incompletely matches ^(?:0[^0]........)
21:59:34  CR    >     02: Prefix Timeout Expression: called-e164 of  incompletely matches ^(?:9..)
21:59:34  CR    >     03: Prefix Timeout Expression: called-e164 of  incompletely matches ^(?:2..)
21:59:34  CR    >     04: Prefix Timeout Expression: called-e164 of  incompletely matches ^(?:7)
21:59:34  CR    >     NO MATCHING ENTRY (INCOMPLETE ENTRIES PRESENT)
21:59:34  CR    >   Lookup result: Route not found (incomplete address) (timeout=0)

Hier kann man das Routing im Detail erkennen...

Gruß,
Sebastian
 
Hallo Matze,

gibt es schon etwas Neues?

Mir sind nochmal zwei Sachen eingefallen, die noch zu probieren wären:

Einmal mit default Eintrag, wie
Code:
 routing-table called-e164 RT_TO_SIP
    route .%6685 dest-interface IF_SIP_SRVFAX
    default dest-interface IF_SIP_LYNC

Und/oder den Ausdruck .%6685 mit Dollarzeichen abschließen: .%6685$

Gruß,
Sebastian
 

Neueste Beiträge

Statistik des Forums

Themen
244,695
Beiträge
2,216,689
Mitglieder
371,314
Neuestes Mitglied
Gjorstn
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.