Re: [SR-Users] ACK to 200 OK without to tag

2018-06-04 Thread Alex Balashov
On Tue, Jun 05, 2018 at 12:29:49AM +0200, Kjeld Flarup wrote:

> That clearly sound like a bug in the Grandstream.
> 
> But lets say that we simply need to make this work.
> 
> Is it possible to save the TO field from the 200 OK and reapply it to the
> ACK before processing?

This really isn't a reasonable approach. :-)

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/

___
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users


Re: [SR-Users] ACK to 200 OK without to tag

2018-06-04 Thread Kjeld Flarup

That clearly sound like a bug in the Grandstream.

But lets say that we simply need to make this work.

Is it possible to save the TO field from the 200 OK and reapply it to 
the ACK before processing?



 Med Liberalistiske Hilsner --
   Civilingeniør, Kjeld Flarup - Mit sind er mere åbent end min tegnebog
   Sofienlundvej 6B, 7560 Hjerm, Tlf: 40 29 41 49
   Den ikke akademiske hjemmeside for liberalismen - www.liberalismen.dk

On 06/03/2018 11:06 PM, Alex Balashov wrote:

The end-to-end ACK for a 2xx reply to an INVITE is an in-dialog request
and must have a To-tag.

On Sun, Jun 03, 2018 at 11:04:47PM +0200, Kjeld Flarup wrote:


We have a SIP doorstation Grandstream GDS3710. When I connect it via
kamailio, it does not setup call correct.

Kamailio sends a 200 OK with this to field:
     t:
;tag=e33a13d3-c18c-4df1-b68f-446e42957de6

Grandstream answers with:
     To: 

As the code follows this example: 
https://kamailio.org/docs/modules/4.3.x/modules/dispatcher.html#dispatcher.ex.config,
it seems obvious that this will fail, as there is not

route[WITHINDLG] {
     if (has_totag()) {

There simply is not to tag. Is this a bug in the grandstream?

If so how could that go unnoticed, or is it me who misses something?

I have attached the full sip text for the 200OK and the ACK

--
 Med Liberalistiske Hilsner --
Civilingeniør, Kjeld Flarup - Mit sind er mere åbent end min tegnebog
Sofienlundvej 6B, 7560 Hjerm, Tlf: 40 29 41 49
Den ikke akademiske hjemmeside for liberalismen - www.liberalismen.dk

   43847 12:49:34.444277192.168.1.150 192.168.1.155 SIP/SDP 
 320Status: 200 OK |

Frame 43847: 320 bytes on wire (2560 bits), 320 bytes captured (2560 bits)
 Encapsulation type: Linux cooked-mode capture (25)
 Arrival Time: Jun  3, 2018 14:49:34.444277000 CEST
 [Time shift for this packet: 0.0 seconds]
 Epoch Time: 1528030174.444277000 seconds
 [Time delta from previous captured frame: 0.26000 seconds]
 [Time delta from previous displayed frame: 0.26000 seconds]
 [Time since reference or first frame: 21839.020163000 seconds]
 Frame Number: 43847
 Frame Length: 320 bytes (2560 bits)
 Capture Length: 320 bytes (2560 bits)
 [Frame is marked: False]
 [Frame is ignored: False]
 [Protocols in frame: sll:ethertype:ip:udp:sip:sdp]
 [Coloring Rule Name: UDP]
 [Coloring Rule String: udp]
Linux cooked capture
 Packet type: Sent by us (4)
 Link-layer address type: 1
 Link-layer address length: 6
 Source: Raspberr_fb:99:9f (b8:27:eb:fb:99:9f)
 Unused: fffe
 Protocol: IPv4 (0x0800)
Internet Protocol Version 4, Src: 192.168.1.150, Dst: 192.168.1.155
 0100  = Version: 4
  0101 = Header Length: 20 bytes (5)
 Differentiated Services Field: 0x10 (DSCP: Unknown, ECN: Not-ECT)
 0001 00.. = Differentiated Services Codepoint: Unknown (4)
  ..00 = Explicit Congestion Notification: Not ECN-Capable 
Transport (0)
 Total Length: 304
 Identification: 0x3c2f (15407)
 Flags: 0x00b9
 0...    = Reserved bit: Not set
 .0..    = Don't fragment: Not set
 ..0.    = More fragments: Not set
 ...0  1011 1001 = Fragment offset: 185
 Time to live: 64
 Protocol: UDP (17)
 Header checksum: 0xb843 [validation disabled]
 [Header checksum status: Unverified]
 Source: 192.168.1.150
 Destination: 192.168.1.155
 [2 IPv4 Fragments (1764 bytes): #43845(1480), #43847(284)]
 [Frame: 43845, payload: 0-1479 (1480 bytes)]
 [Frame: 43847, payload: 1480-1763 (284 bytes)]
 [Fragment count: 2]
 [Reassembled IPv4 length: 1764]
 [Reassembled IPv4 data: 
13cd13c406e440da5349502f322e3020323030204f4b0d0a...]
User Datagram Protocol, Src Port: 5069, Dst Port: 5060
 Source Port: 5069
 Destination Port: 5060
 Length: 1764
 Checksum: 0x40da [unverified]
 [Checksum Status: Unverified]
 [Stream index: 3]
Session Initiation Protocol (200)
 Status-Line: SIP/2.0 200 OK
 Status-Code: 200
 [Resent Packet: True]
 [Suspected resend of frame: 43826]
 [Request Frame: 43831]
 [Response Time (ms): 498]
 Message Header
 v: SIP/2.0/UDP 
192.168.1.155:5060;rport=5060;received=192.168.1.155;branch=z9hG4bK1571336256
 Transport: UDP
 Sent-by Address: 192.168.1.155
 Sent-by port: 5060
 RPort: 5060
 Received: 192.168.1.155
 Branch: z9hG4bK1571336256
 Record-Route: 

 Record-Route URI: 
sip:5.103.133.210:5070;transport=tcp;lr;r2=on;ftag=851466465;vst=CwUAARgIAAAUBAoCATg1MDt0cmFuc3BvcnQ9VENQO29i;nat=yes
 Record-Route Host Part: 5.103.133.210
 Record-Route Host Port: 5070
  

Re: [SR-Users] ACK to 200 OK without to tag

2018-06-03 Thread Alex Balashov
The end-to-end ACK for a 2xx reply to an INVITE is an in-dialog request
and must have a To-tag.

On Sun, Jun 03, 2018 at 11:04:47PM +0200, Kjeld Flarup wrote:

> We have a SIP doorstation Grandstream GDS3710. When I connect it via
> kamailio, it does not setup call correct.
> 
> Kamailio sends a 200 OK with this to field:
>     t:
> ;tag=e33a13d3-c18c-4df1-b68f-446e42957de6
> 
> Grandstream answers with:
>     To: 
> 
> As the code follows this example: 
> https://kamailio.org/docs/modules/4.3.x/modules/dispatcher.html#dispatcher.ex.config,
> it seems obvious that this will fail, as there is not
> 
> route[WITHINDLG] {
>     if (has_totag()) {
> 
> There simply is not to tag. Is this a bug in the grandstream?
> 
> If so how could that go unnoticed, or is it me who misses something?
> 
> I have attached the full sip text for the 200OK and the ACK
> 
> -- 
>  Med Liberalistiske Hilsner --
>Civilingeniør, Kjeld Flarup - Mit sind er mere åbent end min tegnebog
>Sofienlundvej 6B, 7560 Hjerm, Tlf: 40 29 41 49
>Den ikke akademiske hjemmeside for liberalismen - www.liberalismen.dk
> 

>   43847 12:49:34.444277192.168.1.150 192.168.1.155 
> SIP/SDP  320Status: 200 OK | 
> 
> Frame 43847: 320 bytes on wire (2560 bits), 320 bytes captured (2560 bits)
> Encapsulation type: Linux cooked-mode capture (25)
> Arrival Time: Jun  3, 2018 14:49:34.444277000 CEST
> [Time shift for this packet: 0.0 seconds]
> Epoch Time: 1528030174.444277000 seconds
> [Time delta from previous captured frame: 0.26000 seconds]
> [Time delta from previous displayed frame: 0.26000 seconds]
> [Time since reference or first frame: 21839.020163000 seconds]
> Frame Number: 43847
> Frame Length: 320 bytes (2560 bits)
> Capture Length: 320 bytes (2560 bits)
> [Frame is marked: False]
> [Frame is ignored: False]
> [Protocols in frame: sll:ethertype:ip:udp:sip:sdp]
> [Coloring Rule Name: UDP]
> [Coloring Rule String: udp]
> Linux cooked capture
> Packet type: Sent by us (4)
> Link-layer address type: 1
> Link-layer address length: 6
> Source: Raspberr_fb:99:9f (b8:27:eb:fb:99:9f)
> Unused: fffe
> Protocol: IPv4 (0x0800)
> Internet Protocol Version 4, Src: 192.168.1.150, Dst: 192.168.1.155
> 0100  = Version: 4
>  0101 = Header Length: 20 bytes (5)
> Differentiated Services Field: 0x10 (DSCP: Unknown, ECN: Not-ECT)
> 0001 00.. = Differentiated Services Codepoint: Unknown (4)
>  ..00 = Explicit Congestion Notification: Not ECN-Capable 
> Transport (0)
> Total Length: 304
> Identification: 0x3c2f (15407)
> Flags: 0x00b9
> 0...    = Reserved bit: Not set
> .0..    = Don't fragment: Not set
> ..0.    = More fragments: Not set
> ...0  1011 1001 = Fragment offset: 185
> Time to live: 64
> Protocol: UDP (17)
> Header checksum: 0xb843 [validation disabled]
> [Header checksum status: Unverified]
> Source: 192.168.1.150
> Destination: 192.168.1.155
> [2 IPv4 Fragments (1764 bytes): #43845(1480), #43847(284)]
> [Frame: 43845, payload: 0-1479 (1480 bytes)]
> [Frame: 43847, payload: 1480-1763 (284 bytes)]
> [Fragment count: 2]
> [Reassembled IPv4 length: 1764]
> [Reassembled IPv4 data: 
> 13cd13c406e440da5349502f322e3020323030204f4b0d0a...]
> User Datagram Protocol, Src Port: 5069, Dst Port: 5060
> Source Port: 5069
> Destination Port: 5060
> Length: 1764
> Checksum: 0x40da [unverified]
> [Checksum Status: Unverified]
> [Stream index: 3]
> Session Initiation Protocol (200)
> Status-Line: SIP/2.0 200 OK
> Status-Code: 200
> [Resent Packet: True]
> [Suspected resend of frame: 43826]
> [Request Frame: 43831]
> [Response Time (ms): 498]
> Message Header
> v: SIP/2.0/UDP 
> 192.168.1.155:5060;rport=5060;received=192.168.1.155;branch=z9hG4bK1571336256
> Transport: UDP
> Sent-by Address: 192.168.1.155
> Sent-by port: 5060
> RPort: 5060
> Received: 192.168.1.155
> Branch: z9hG4bK1571336256
> Record-Route: 
> 
> Record-Route URI: 
> sip:5.103.133.210:5070;transport=tcp;lr;r2=on;ftag=851466465;vst=CwUAARgIAAAUBAoCATg1MDt0cmFuc3BvcnQ9VENQO29i;nat=yes
> Record-Route Host Part: 5.103.133.210
> Record-Route Host Port: 5070
> Record-Route URI parameter: transport=tcp
> Record-Route URI parameter: lr
> Record-Route URI parameter: r2=on
> Record-Route URI parameter: ftag=851466465
> Record-Route URI parameter: 
> vst=CwUAARgIAAAUBAoCATg1MDt0cmFuc3BvcnQ9VENQO29i
> 

[SR-Users] ACK to 200 OK without to tag

2018-06-03 Thread Kjeld Flarup
We have a SIP doorstation Grandstream GDS3710. When I connect it via 
kamailio, it does not setup call correct.


Kamailio sends a 200 OK with this to field:
    t: 
;tag=e33a13d3-c18c-4df1-b68f-446e42957de6


Grandstream answers with:
    To: 

As the code follows this example: 
https://kamailio.org/docs/modules/4.3.x/modules/dispatcher.html#dispatcher.ex.config, 
it seems obvious that this will fail, as there is not


route[WITHINDLG] {
    if (has_totag()) {

There simply is not to tag. Is this a bug in the grandstream?

If so how could that go unnoticed, or is it me who misses something?

I have attached the full sip text for the 200OK and the ACK

--
 Med Liberalistiske Hilsner --
   Civilingeniør, Kjeld Flarup - Mit sind er mere åbent end min tegnebog
   Sofienlundvej 6B, 7560 Hjerm, Tlf: 40 29 41 49
   Den ikke akademiske hjemmeside for liberalismen - www.liberalismen.dk

  43847 12:49:34.444277192.168.1.150 192.168.1.155 SIP/SDP  
320Status: 200 OK | 

Frame 43847: 320 bytes on wire (2560 bits), 320 bytes captured (2560 bits)
Encapsulation type: Linux cooked-mode capture (25)
Arrival Time: Jun  3, 2018 14:49:34.444277000 CEST
[Time shift for this packet: 0.0 seconds]
Epoch Time: 1528030174.444277000 seconds
[Time delta from previous captured frame: 0.26000 seconds]
[Time delta from previous displayed frame: 0.26000 seconds]
[Time since reference or first frame: 21839.020163000 seconds]
Frame Number: 43847
Frame Length: 320 bytes (2560 bits)
Capture Length: 320 bytes (2560 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: sll:ethertype:ip:udp:sip:sdp]
[Coloring Rule Name: UDP]
[Coloring Rule String: udp]
Linux cooked capture
Packet type: Sent by us (4)
Link-layer address type: 1
Link-layer address length: 6
Source: Raspberr_fb:99:9f (b8:27:eb:fb:99:9f)
Unused: fffe
Protocol: IPv4 (0x0800)
Internet Protocol Version 4, Src: 192.168.1.150, Dst: 192.168.1.155
0100  = Version: 4
 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x10 (DSCP: Unknown, ECN: Not-ECT)
0001 00.. = Differentiated Services Codepoint: Unknown (4)
 ..00 = Explicit Congestion Notification: Not ECN-Capable Transport 
(0)
Total Length: 304
Identification: 0x3c2f (15407)
Flags: 0x00b9
0...    = Reserved bit: Not set
.0..    = Don't fragment: Not set
..0.    = More fragments: Not set
...0  1011 1001 = Fragment offset: 185
Time to live: 64
Protocol: UDP (17)
Header checksum: 0xb843 [validation disabled]
[Header checksum status: Unverified]
Source: 192.168.1.150
Destination: 192.168.1.155
[2 IPv4 Fragments (1764 bytes): #43845(1480), #43847(284)]
[Frame: 43845, payload: 0-1479 (1480 bytes)]
[Frame: 43847, payload: 1480-1763 (284 bytes)]
[Fragment count: 2]
[Reassembled IPv4 length: 1764]
[Reassembled IPv4 data: 
13cd13c406e440da5349502f322e3020323030204f4b0d0a...]
User Datagram Protocol, Src Port: 5069, Dst Port: 5060
Source Port: 5069
Destination Port: 5060
Length: 1764
Checksum: 0x40da [unverified]
[Checksum Status: Unverified]
[Stream index: 3]
Session Initiation Protocol (200)
Status-Line: SIP/2.0 200 OK
Status-Code: 200
[Resent Packet: True]
[Suspected resend of frame: 43826]
[Request Frame: 43831]
[Response Time (ms): 498]
Message Header
v: SIP/2.0/UDP 
192.168.1.155:5060;rport=5060;received=192.168.1.155;branch=z9hG4bK1571336256
Transport: UDP
Sent-by Address: 192.168.1.155
Sent-by port: 5060
RPort: 5060
Received: 192.168.1.155
Branch: z9hG4bK1571336256
Record-Route: 

Record-Route URI: 
sip:5.103.133.210:5070;transport=tcp;lr;r2=on;ftag=851466465;vst=CwUAARgIAAAUBAoCATg1MDt0cmFuc3BvcnQ9VENQO29i;nat=yes
Record-Route Host Part: 5.103.133.210
Record-Route Host Port: 5070
Record-Route URI parameter: transport=tcp
Record-Route URI parameter: lr
Record-Route URI parameter: r2=on
Record-Route URI parameter: ftag=851466465
Record-Route URI parameter: 
vst=CwUAARgIAAAUBAoCATg1MDt0cmFuc3BvcnQ9VENQO29i
Record-Route URI parameter: nat=yes
Record-Route: 

Record-Route URI: 
sip:127.0.0.1:5070;lr;r2=on;ftag=851466465;vst=CwUAARgIAAAUBAoCATg1MDt0cmFuc3BvcnQ9VENQO29i;nat=yes
Record-Route Host Part: 127.0.0.1
Record-Route Host Port: 5070
Record-Route URI parameter: lr
Record-Route URI parameter: