|
|
Author |
Message |
johan@democon.be Brekeke Newbie
Joined: 28 May 2013 Posts: 2
|
Posted: Tue May 28, 2013 6:35 am Post subject: in VPN, wrong interface in SDP |
|
|
1. Brekeke Product Name and Version:
Brekeke SIP Server 3.1.4.4/348
2. Java version:
1.7.0_10
3. OS type and the version:
windows2008r2
4. UA (phone), gateway or other hardware/software involved:
vocalcom softphone.
5. Your problem:
server has two NIC's :
- one voice
- one data
brekeke needs to handle registration coming from voice and data.
When registering from external via ssl, in the sdp there is the voice ip address this should be the data.
On internal (good) I see the following in the log:
starttime = 05/28/13 13:55:48.338
spiral-hop = 1
plugin = com.brekeke.net.sip.sv.session.plugins.InviteSession
request = INVITE sip:2010@172.16.32.51:5062 SIP/2.0
rulename = registered=sip:2010(sip:2010@10.133.1.160:5060/UDP)
org:From: = sip:100104001701@172.16.32.51
new:From: = sip:100104001701@172.16.32.51
org:To: = sip:2010@172.16.32.51:5062
new:To: = sip:2010@10.133.1.40:5062
src:addr/port = 172.16.32.51:5060 (UDP local-addr if)
src:interface = 172.16.32.51:5062 (UDP local-addr)
dst:addr/port = 10.133.1.160:5060 (UDP local-addr)
dst:interface = 10.133.1.40:5062 (UDP local-addr)
mode:B2BUA = off
mode:RTPrelay = auto
mode:Auth = auto
mode:NAT = auto
on external :
starttime = 05/28/13 13:54:34.670
spiral-hop = 1
plugin = com.brekeke.net.sip.sv.session.plugins.InviteSession
request = INVITE sip:2010@172.16.32.51:5062 SIP/2.0
rulename = registered=sip:2010(sip:2010@192.168.110.5:5060/UDP)
org:From: = sip:100104001701@172.16.32.51
new:From: = sip:100104001701@172.16.32.51
org:To: = sip:2010@172.16.32.51:5062
new:To: = sip:2010@172.16.32.51:5062
src:addr/port = 172.16.32.51:5060 (UDP local-addr if)
src:interface = 172.16.32.51:5062 (UDP local-addr)
dst:addr/port = 192.168.110.5:5060 (UDP local-addr)
dst:interface = 172.16.32.51:5062 (UDP local-addr)
mode:B2BUA = off
mode:RTPrelay = auto
mode:Auth = auto
mode:NAT = auto
bold is wrong it should be 10.133.1.40.
Can somebody please explain to me how brekeke picks the interface it will use for dst ?
Strangely enough the registration arrives to the correct interface.
Good case :
==============================================
REGISTER sip:10.133.1.40:5062 SIP/2.0
CSeq: 1 REGISTER
Via: SIP/2.0/UDP 10.133.1.160:5060;branch=z9hG4bK039cfe7b-040a-1910-9fc1-0014d1b01d34;rport=5060
User-Agent: VocalcomSoftPhone
From: <sip:2010@10.133.1.40>;tag=368bfe7b-040a-1910-9fc1-0014d1b01d34
Call-ID: 1688fe7b-040a-1910-9fc1-0014d1b01d34@Johan-PC
Organization: Vocalcom
To: <sip:2010@10.133.1.40>
Contact: <sip:2010@10.133.1.160:5060>;q=1
Contact: <sip:2010@10.133.1.160:5060;transport=tcp>;q=0.875
Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,SUBSCRIBE,NOTIFY,REFER,MESSAGE,INFO,PING,PRACK
Expires: 100
Max-Forwards: 70
Content-Length: 0
==============================================
register.8: target=local
register.8: local: send: challenge: at 05/28/13 13:55:40.862
==============================================
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 10.133.1.160:5060;branch=z9hG4bK039cfe7b-040a-1910-9fc1-0014d1b01d34;rport=5060
From: <sip:2010@10.133.1.40>;tag=368bfe7b-040a-1910-9fc1-0014d1b01d34
To: <sip:2010@10.133.1.40>;tag=be7b177bbs
Call-ID: 1688fe7b-040a-1910-9fc1-0014d1b01d34@Johan-PC
CSeq: 1 REGISTER
Server: Brekeke SIP Server rev.348
WWW-Authenticate: Digest realm="D2NSNH5J",nonce="e63af69d8ea205570a070522eea55fff1a928a8c",algorithm=MD5
Content-Length: 0
==============================================
register.8: local: recv re-request: at 05/28/13 13:55:41.070
==============================================
REGISTER sip:10.133.1.40:5062 SIP/2.0
CSeq: 2 REGISTER
Via: SIP/2.0/UDP 10.133.1.160:5060;branch=z9hG4bK0ceefe7b-040a-1910-9fc1-0014d1b01d34;rport=5060
User-Agent: VocalcomSoftPhone
Authorization: Digest username="2010", realm="D2NSNH5J", nonce="e63af69d8ea205570a070522eea55fff1a928a8c", uri="sip:10.133.1.40:5062", algorithm=MD5, response="73c5c786f1afa5656825977a56e0bf29"
From: <sip:2010@10.133.1.40>;tag=368bfe7b-040a-1910-9fc1-0014d1b01d34
Call-ID: 1688fe7b-040a-1910-9fc1-0014d1b01d34@Johan-PC
Organization: Vocalcom
To: <sip:2010@10.133.1.40>
Contact: <sip:2010@10.133.1.160:5060>;q=1
Contact: <sip:2010@10.133.1.160:5060;transport=tcp>;q=0.875
Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,SUBSCRIBE,NOTIFY,REFER,MESSAGE,INFO,PING,PRACK
Expires: 100
Max-Forwards: 70
Content-Length: 0
==============================================
registrar: lookuped: 'sip:2010' is not found.
registrar: lookuped: 'tel:2010' is not found.
registrar: registed(100): 'sip:2010' as 'sip:2010@10.133.1.160:5060 at 10.133.1.160:5060(UDP)' (16)
register.8: succeed: send: at 05/28/13 13:55:41.084
==============================================
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.133.1.160:5060;branch=z9hG4bK0ceefe7b-040a-1910-9fc1-0014d1b01d34;rport=5060
From: <sip:2010@10.133.1.40>;tag=368bfe7b-040a-1910-9fc1-0014d1b01d34
To: <sip:2010@10.133.1.40>;tag=b20a191f6s
Call-ID: 1688fe7b-040a-1910-9fc1-0014d1b01d34@Johan-PC
CSeq: 2 REGISTER
Server: Brekeke SIP Server rev.348
Contact: <sip:2010@10.133.1.160:5060>;expires=100;q=1.0
Expires: 100
Date: Tue, 28 May 2013 11:55:41 GMT
Content-Length: 0
==============================================
register.8: close
management.8: close: register: from=sip:2010@10.133.1.40 at 05/28/13 13:55:41.084
registrar: lookuped: 'sip:2010' as 'sip:2010@10.133.1.160:5060' (16)
session.13: sipex.12: start: from=<sip:100104001701@172.16.32.51> to=<sip:2010@10.133.1.40:5062>
session.13: information:
starttime = 05/28/13 13:55:48.338
spiral-hop = 1
plugin = com.brekeke.net.sip.sv.session.plugins.InviteSession
request = INVITE sip:2010@172.16.32.51:5062 SIP/2.0
rulename = registered=sip:2010(sip:2010@10.133.1.160:5060/UDP)
org:From: = sip:100104001701@172.16.32.51
new:From: = sip:100104001701@172.16.32.51
org:To: = sip:2010@172.16.32.51:5062
new:To: = sip:2010@10.133.1.40:5062
src:addr/port = 172.16.32.51:5060 (UDP local-addr if)
src:interface = 172.16.32.51:5062 (UDP local-addr)
dst:addr/port = 10.133.1.160:5060 (UDP local-addr)
dst:interface = 10.133.1.40:5062 (UDP local-addr)
mode:B2BUA = off
mode:RTPrelay = auto
mode:Auth = auto
mode:NAT = auto
bad case :
REGISTER sip:10.133.1.40:5062 SIP/2.0
CSeq: 1 REGISTER
Via: SIP/2.0/UDP 192.168.110.5:5060;branch=z9hG4bK0c599aba-030a-1910-93e2-00ff5b3718e2;rport=5060
User-Agent: VocalcomSoftPhone
From: <sip:2010@10.133.1.40>;tag=d74c9aba-030a-1910-93e2-00ff5b3718e2
Call-ID: d74c9aba-030a-1910-93e1-00ff5b3718e2@CZC9202THF
Organization: Vocalcom
To: <sip:2010@10.133.1.40>
Contact: <sip:2010@192.168.110.5:5060>;q=1
Contact: <sip:2010@192.168.110.5:5060;transport=tcp>;q=0.750
Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,SUBSCRIBE,NOTIFY,REFER,MESSAGE,INFO,PING,PRACK
Expires: 100
Max-Forwards: 70
Content-Length: 0
==============================================
register.4: target=local
register.4: local: send: challenge: at 05/28/13 13:54:22.702
==============================================
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.110.5:5060;branch=z9hG4bK0c599aba-030a-1910-93e2-00ff5b3718e2;rport=5060
From: <sip:2010@10.133.1.40>;tag=d74c9aba-030a-1910-93e2-00ff5b3718e2
To: <sip:2010@10.133.1.40>;tag=be23bfec8s
Call-ID: d74c9aba-030a-1910-93e1-00ff5b3718e2@CZC9202THF
CSeq: 1 REGISTER
Server: Brekeke SIP Server rev.348
WWW-Authenticate: Digest realm="D2NSNH5J",nonce="35ebe59f2aa18954c504d61b90dcb3a86d4a8cf9",algorithm=MD5
Content-Length: 0
==============================================
register.4: local: recv re-request: at 05/28/13 13:54:22.804
==============================================
REGISTER sip:10.133.1.40:5062 SIP/2.0
CSeq: 2 REGISTER
Via: SIP/2.0/UDP 192.168.110.5:5060;branch=z9hG4bK5c6b9aba-030a-1910-93e2-00ff5b3718e2;rport=5060
User-Agent: VocalcomSoftPhone
Authorization: Digest username="2010", realm="D2NSNH5J", nonce="35ebe59f2aa18954c504d61b90dcb3a86d4a8cf9", uri="sip:10.133.1.40:5062", algorithm=MD5, response="fe1102d87ba6e96614367beff3d1dced"
From: <sip:2010@10.133.1.40>;tag=d74c9aba-030a-1910-93e2-00ff5b3718e2
Call-ID: d74c9aba-030a-1910-93e1-00ff5b3718e2@CZC9202THF
Organization: Vocalcom
To: <sip:2010@10.133.1.40>
Contact: <sip:2010@192.168.110.5:5060>;q=1
Contact: <sip:2010@192.168.110.5:5060;transport=tcp>;q=0.750
Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,SUBSCRIBE,NOTIFY,REFER,MESSAGE,INFO,PING,PRACK
Expires: 100
Max-Forwards: 70
Content-Length: 0
==============================================
registrar: lookuped: 'sip:2010' is not found.
registrar: lookuped: 'tel:2010' is not found.
registrar: registed(100): 'sip:2010' as 'sip:2010@192.168.110.5:5060 at 192.168.110.5:5060(UDP)' (5)
register.4: succeed: send: at 05/28/13 13:54:22.809
==============================================
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.110.5:5060;branch=z9hG4bK5c6b9aba-030a-1910-93e2-00ff5b3718e2;rport=5060
From: <sip:2010@10.133.1.40>;tag=d74c9aba-030a-1910-93e2-00ff5b3718e2
To: <sip:2010@10.133.1.40>;tag=bc87a8564s
Call-ID: d74c9aba-030a-1910-93e1-00ff5b3718e2@CZC9202THF
CSeq: 2 REGISTER
Server: Brekeke SIP Server rev.348
Contact: <sip:2010@192.168.110.5:5060>;expires=100;q=1.0
Expires: 100
Date: Tue, 28 May 2013 11:54:22 GMT
Content-Length: 0
==============================================
register.4: close
management.4: close: register: from=sip:2010@10.133.1.40 at 05/28/13 13:54:22.809
registrar: lookuped: 'sip:2010' as 'sip:2010@192.168.110.5:5060' (5)
session.8: sipex.7: start: from=<sip:100104001701@172.16.32.51> to=<sip:2010@172.16.32.51:5062>
session.8: information:
starttime = 05/28/13 13:54:34.670
spiral-hop = 1
plugin = com.brekeke.net.sip.sv.session.plugins.InviteSession
request = INVITE sip:2010@172.16.32.51:5062 SIP/2.0
rulename = registered=sip:2010(sip:2010@192.168.110.5:5060/UDP)
org:From: = sip:100104001701@172.16.32.51
new:From: = sip:100104001701@172.16.32.51
org:To: = sip:2010@172.16.32.51:5062
new:To: = sip:2010@172.16.32.51:5062
src:addr/port = 172.16.32.51:5060 (UDP local-addr if)
src:interface = 172.16.32.51:5062 (UDP local-addr)
dst:addr/port = 192.168.110.5:5060 (UDP local-addr)
dst:interface = 172.16.32.51:5062 (UDP local-addr)
mode:B2BUA = off
mode:RTPrelay = auto
mode:Auth = auto
mode:NAT = auto
I first thought of a routing problem, but only 10.133.1.40 has external gateway.
Hence :
can somebody please explain me how brekeke chooses it's dst interface ?
Cheers, Johan. |
|
Back to top |
|
Laurie Brekeke Master Guru
Joined: 07 Jan 2008 Posts: 245
|
Posted: Tue May 28, 2013 10:19 am Post subject: |
|
|
Set
$ifdst = 10.133.1.40
&net.rtp.ifdst = 10.133.1.40
in the Deploy Pattern. |
|
Back to top |
|
Laurie Brekeke Master Guru
Joined: 07 Jan 2008 Posts: 245
|
Posted: Tue May 28, 2013 10:26 am Post subject: |
|
|
This is a sample dialplan rule.
Matching Patterns | $request = ^INVITE $registered = true $regaddr = ^192.168
| Deploy Patterns | $ifdst = 10.133.1.40 &net.rtp.ifdst = 10.133.1.40 $continue = ture
|
|
|
Back to top |
|
johan@democon.be Brekeke Newbie
Joined: 28 May 2013 Posts: 2
|
Posted: Wed May 29, 2013 3:51 am Post subject: |
|
|
thanks laurie.
that worked fine.
many thanks for the swift response
Johan. |
|
Back to top |
|
Laurie Brekeke Master Guru
Joined: 07 Jan 2008 Posts: 245
|
Posted: Wed May 29, 2013 10:38 am Post subject: |
|
|
Im glad to know |
|
Back to top |
|
|
|
|
|