[ previous ] [ next ] [ threads ]
 To :  Yate Mailgroup <yate@v...>
 From :  Kiarash Ghiaseddin <koochy@a...>
 Subject :  sipchan listeners
 Date :  Mon, 10 Sep 2012 13:55:18 +0200
Hi,

I've some problem with the 'new' configuration file for ysipchan. In newer version you can specify different listeners for the sip module.
I've setup two listeners: general for public internet and local for the local net. Now the problem is when callflow is as:

caller -- public-network --> Yate -- local-network --> called

that yate does not choose the right listener for the outgoing callleg. It always used the general listener which is default. So there is no way for routing a call from one network to an other network. In older yate version you could just set the general listening address to 0.0.0.0 and than yate chooses the correct ip for the outgoing callleg. This behavior works for me to version 4 of yate but now no matter what I do I can just route call to one network.

So is there a way to tell yate which listener to use for a new call? Or is there an other workaround for that?

Can someone help me?

Thank you and with regards

My config is:

[listener general]
; This section has the following purposes:
; - Maintain compatibility with old configuration
; - Setup an UDP listener named 'general'
; This section will be processed before any other listener sections
; The following parameters can be overridden from 'general' section: maxpkt, buffer

; enable: boolean: Enable or disable the UDP listener
; This parameter is applied on reload and defaults to yes
enable=yes

; default: boolean: Specifiy if this is the default transport to use when none specified
; Defaults to yes (unlike the other listeners)
default=yes

; udp_force_bind: boolean: Try to use a random port if failed to bind on configured one
; Defaults to yes
;udp_force_bind=yes

; addr: ipaddress: IP address to bind to
; Leave it empty to listen on all available interfaces
addr=10.10.10.10

; port: integer: Port to bind to
; Defaults to 5060
port=5060

; rtp_localip: ipaddress: IP address to bind local RTP to, empty to guess best
; This parameter is applied on reload
; RTP local IP address will default to bound IP address if not binding on all interfaces
; Explicitly set it to empty string to avoid using bound IP address
rtp_localip=10.10.10.10

; nat_address: ipaddress: IP address to advertise in SDP, empty to use the local RTP
; This parameter is applied on reload
; Set this parameter when you know your RTP is behind a NAT
;nat_address=

; thread: keyword: Listener thread priority
; Can be one of: lowest, low, normal, high, highest
; High priorities need superuser privileges on POSIX operating systems
; Low priorities are not recommended except for debugging
;thread=normal


[listener local]
; This section configures a listener named 'name' ('general' is reserved and will be ignored)
; The following parameters can be overridden from 'general' section:
;   UDP: maxpkt, buffer
;   TCP/TLS: tcp_maxpkt

; type: keyword: Listener type
; Allowed values:
; udp: Build an UDP listener
; tcp: Build a TCP listener
; tls: Build a TLS listener (encrypted TCP)
; Defaults to udp if missing or invalid
type=udp

; enable: boolean: Enable or disable this listener
; This parameter is applied on reload and defaults to yes
enable=yes

; default: boolean: UDP only: specifiy if this is the default transport to use when none specified
; Defaults to no
default=no

; udp_force_bind: boolean: UDP only: try to use a random port if failed to bind on configured one
; Defaults to yes
;udp_force_bind=yes

; addr: ipaddress: IP address to bind to
; Leave it empty to listen on all available interfaces
addr=20.20.20.20

; port: integer: Port to bind to
; Defaults to 5060 for UDP and TCP, 5061 for TLS listeners
port=5060

; rtp_localip: ipaddress: IP address to bind local RTP to
; This parameter is applied on reload
; TCP/TLS: this parameter is applied on reload for new connections only
; RTP local IP address will default to bound IP address if not binding on all interfaces
; Explicitly set it to empty string to avoid using bound IP address
rtp_localip=20.20.20.20

; backlog: integer: Maximum length of the queue of pending connections
; This parameter is ignored for UDP listeners
; Set it to 0 for system maximum
; Defaults to 5 if missing or invalid
;backlog=5

; sslcontext: string: SSL context if this is an encrypted connection
; Ignored for non TLS listeners, required for TLS listeners
;sslcontext=

; thread: keyword: Listener thread priority
; Can be one of: lowest, low, normal, high, highest
; High priorities need superuser privileges on POSIX operating systems
; Low priorities are not recommended except for debugging
thread=normal


Silver Connection OHG 
Kiarash Ghiaseddin
Heinrich Holtschneider Weg 111 A 
40489 Duesseldorf 
Phone:  +49 211 4057523
Fax:      +49 211 4057524
Mobile:  +49 163 7956143

Reg.Ger. HRA 17444 Duesseldorf
VAT No. DE 244101298




Hi,

I've some problem with the 'new' configuration file for ysipchan. In newer version you can specify different listeners for the sip module.
I've setup two listeners: general for public internet and local for the local net. Now the problem is when callflow is as:

caller -- public-network --> Yate -- local-network --> called

that yate does not choose the right listener for the outgoing callleg. It always used the general listener which is default. So there is no way for routing a call from one network to an other network. In older yate version you could just set the general listening address to 0.0.0.0 and than yate chooses the correct ip for the outgoing callleg. This behavior works for me to version 4 of yate but now no matter what I do I can just route call to one network.

So is there a way to tell yate which listener to use for a new call? Or is there an other workaround for that?

Can someone help me?

Thank you and with regards

My config is:

[listener general]
; This section has the following purposes:
; - Maintain compatibility with old configuration
; - Setup an UDP listener named 'general'
; This section will be processed before any other listener sections
; The following parameters can be overridden from 'general' section: maxpkt, buffer

; enable: boolean: Enable or disable the UDP listener
; This parameter is applied on reload and defaults to yes
enable=yes

; default: boolean: Specifiy if this is the default transport to use when none specified
; Defaults to yes (unlike the other listeners)
default=yes

; udp_force_bind: boolean: Try to use a random port if failed to bind on configured one
; Defaults to yes
;udp_force_bind=yes

; addr: ipaddress: IP address to bind to
; Leave it empty to listen on all available interfaces
addr=10.10.10.10

; port: integer: Port to bind to
; Defaults to 5060
port=5060

; rtp_localip: ipaddress: IP address to bind local RTP to, empty to guess best
; This parameter is applied on reload
; RTP local IP address will default to bound IP address if not binding on all interfaces
; Explicitly set it to empty string to avoid using bound IP address
rtp_localip=10.10.10.10

; nat_address: ipaddress: IP address to advertise in SDP, empty to use the local RTP
; This parameter is applied on reload
; Set this parameter when you know your RTP is behind a NAT
;nat_address=

; thread: keyword: Listener thread priority
; Can be one of: lowest, low, normal, high, highest
; High priorities need superuser privileges on POSIX operating systems
; Low priorities are not recommended except for debugging
;thread=normal


[listener local]
; This section configures a listener named 'name' ('general' is reserved and will be ignored)
; The following parameters can be overridden from 'general' section:
;   UDP: maxpkt, buffer
;   TCP/TLS: tcp_maxpkt

; type: keyword: Listener type
; Allowed values:
; udp: Build an UDP listener
; tcp: Build a TCP listener
; tls: Build a TLS listener (encrypted TCP)
; Defaults to udp if missing or invalid
type=udp

; enable: boolean: Enable or disable this listener
; This parameter is applied on reload and defaults to yes
enable=yes

; default: boolean: UDP only: specifiy if this is the default transport to use when none specified
; Defaults to no
default=no

; udp_force_bind: boolean: UDP only: try to use a random port if failed to bind on configured one
; Defaults to yes
;udp_force_bind=yes

; addr: ipaddress: IP address to bind to
; Leave it empty to listen on all available interfaces
addr=20.20.20.20

; port: integer: Port to bind to
; Defaults to 5060 for UDP and TCP, 5061 for TLS listeners
port=5060

; rtp_localip: ipaddress: IP address to bind local RTP to
; This parameter is applied on reload
; TCP/TLS: this parameter is applied on reload for new connections only
; RTP local IP address will default to bound IP address if not binding on all interfaces
; Explicitly set it to empty string to avoid using bound IP address
rtp_localip=20.20.20.20

; backlog: integer: Maximum length of the queue of pending connections
; This parameter is ignored for UDP listeners
; Set it to 0 for system maximum
; Defaults to 5 if missing or invalid
;backlog=5

; sslcontext: string: SSL context if this is an encrypted connection
; Ignored for non TLS listeners, required for TLS listeners
;sslcontext=

; thread: keyword: Listener thread priority
; Can be one of: lowest, low, normal, high, highest
; High priorities need superuser privileges on POSIX operating systems
; Low priorities are not recommended except for debugging
thread=normal


Silver Connection OHG 
Kiarash Ghiaseddin
Heinrich Holtschneider Weg 111 A 
40489 Duesseldorf 
Phone:  +49 211 4057523
Fax:      +49 211 4057524
Mobile:  +49 163 7956143

Reg.Ger. HRA 17444 Duesseldorf
VAT No. 
DE 244101298