This page last changed on Sep 30, 2013 by juha.

I encountered a curious issue with OR and Global Cache GC-100-12.
I have several IR commands programmed in OR Designer, that I have confirmed are correct through GC iTest.

Most of the commands where also working flawlessly in OR on my iPad.
However, for a few commands, I had an issue with the TCP session;
for most commands, the TCP dump indicates dest. port 4998, which is correct.
But for some, the TCP dump indicated dest.port 5150,
even though, in OR designer, I had specified dest. port 4998.

#Correct dest. port

No.     Time           Source                Destination           Protocol Length Info
     41 8.592974000    192.168.1.139         192.168.1.100         TCP      66     conf > 4998 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=4 SACK_PERM=1

Frame 41: 66 bytes on wire (528 bits), 66 bytes captured (528 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Sep 30, 2013 01:27:23.042330000 W. Europe Daylight Time
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1380497243.042330000 seconds
    [Time delta from previous captured frame: 0.000008000 seconds]
    [Time delta from previous displayed frame: 8.544846000 seconds]
    [Time since reference or first frame: 8.592974000 seconds]
    Frame Number: 41
    Frame Length: 66 bytes (528 bits)
    Capture Length: 66 bytes (528 bits)
    [Frame is marked: True]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp]
    [Coloring Rule Name: TCP SYN/FIN]
    [Coloring Rule String: tcp.flags & 0x02 || tcp.flags.fin == 1]
Ethernet II, Src: AsustekC_60:05:6f (e0:cb:4e:60:05:6f), Dst: GlobalCa_01:f3:98 (00:0c:1e:01:f3:98)
    Destination: GlobalCa_01:f3:98 (00:0c:1e:01:f3:98)
        Address: GlobalCa_01:f3:98 (00:0c:1e:01:f3:98)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: AsustekC_60:05:6f (e0:cb:4e:60:05:6f)
        Address: AsustekC_60:05:6f (e0:cb:4e:60:05:6f)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 192.168.1.139 (192.168.1.139), Dst: 192.168.1.100 (192.168.1.100)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 52
    Identification: 0x405d (16477)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 128
    Protocol: TCP (6)
    Header checksum: 0x3627 [correct]
        [Good: True]
        [Bad: False]
    Source: 192.168.1.139 (192.168.1.139)
    Destination: 192.168.1.100 (192.168.1.100)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: conf (2008), Dst Port: 4998 (4998), Seq: 0, Len: 0
    Source port: conf (2008)
    Destination port: 4998 (4998)
    [Stream index: 3]
    Sequence number: 0    (relative sequence number)
    Header length: 32 bytes
    Flags: 0x002 (SYN)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...0 .... = Acknowledgment: Not set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..1. = Syn: Set
            [Expert Info (Chat/Sequence): Connection establish request (SYN): server port 4998]
                [Message: Connection establish request (SYN): server port 4998]
                [Severity level: Chat]
                [Group: Sequence]
        .... .... ...0 = Fin: Not set
    Window size value: 8192
    [Calculated window size: 8192]
    Checksum: 0xbf0b [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (12 bytes), Maximum segment size, No-Operation (NOP), Window scale, No-Operation (NOP), No-Operation (NOP), SACK permitted
        Maximum segment size: 1460 bytes
            Kind: MSS size (2)
            Length: 4
            MSS Value: 1460
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Window scale: 2 (multiply by 4)
            Kind: Window Scale (3)
            Length: 3
            Shift count: 2
            [Multiplier: 4]
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        TCP SACK Permitted Option: True
            Kind: SACK Permission (4)
            Length: 2

#Wrong dest. port

No.     Time           Source                Destination           Protocol Length Info
     66 13.670602000   192.168.1.139         192.168.1.100         TCP      66     news > atmp [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=4 SACK_PERM=1

Frame 66: 66 bytes on wire (528 bits), 66 bytes captured (528 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Sep 30, 2013 01:27:28.119958000 W. Europe Daylight Time
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1380497248.119958000 seconds
    [Time delta from previous captured frame: 0.000865000 seconds]
    [Time delta from previous displayed frame: 4.865136000 seconds]
    [Time since reference or first frame: 13.670602000 seconds]
    Frame Number: 66
    Frame Length: 66 bytes (528 bits)
    Capture Length: 66 bytes (528 bits)
    [Frame is marked: True]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp]
    [Coloring Rule Name: TCP SYN/FIN]
    [Coloring Rule String: tcp.flags & 0x02 || tcp.flags.fin == 1]
Ethernet II, Src: AsustekC_60:05:6f (e0:cb:4e:60:05:6f), Dst: GlobalCa_01:f3:98 (00:0c:1e:01:f3:98)
    Destination: GlobalCa_01:f3:98 (00:0c:1e:01:f3:98)
        Address: GlobalCa_01:f3:98 (00:0c:1e:01:f3:98)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: AsustekC_60:05:6f (e0:cb:4e:60:05:6f)
        Address: AsustekC_60:05:6f (e0:cb:4e:60:05:6f)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 192.168.1.139 (192.168.1.139), Dst: 192.168.1.100 (192.168.1.100)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 52
    Identification: 0x4067 (16487)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 128
    Protocol: TCP (6)
    Header checksum: 0x361d [correct]
        [Good: True]
        [Bad: False]
    Source: 192.168.1.139 (192.168.1.139)
    Destination: 192.168.1.100 (192.168.1.100)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: news (2009), Dst Port: atmp (5150), Seq: 0, Len: 0
    Source port: news (2009)
    Destination port: atmp (5150)
    [Stream index: 4]
    Sequence number: 0    (relative sequence number)
    Header length: 32 bytes
    Flags: 0x002 (SYN)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...0 .... = Acknowledgment: Not set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..1. = Syn: Set
            [Expert Info (Chat/Sequence): Connection establish request (SYN): server port atmp]
                [Message: Connection establish request (SYN): server port atmp]
                [Severity level: Chat]
                [Group: Sequence]
        .... .... ...0 = Fin: Not set
    Window size value: 8192
    [Calculated window size: 8192]
    Checksum: 0x466e [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (12 bytes), Maximum segment size, No-Operation (NOP), Window scale, No-Operation (NOP), No-Operation (NOP), SACK permitted
        Maximum segment size: 1460 bytes
            Kind: MSS size (2)
            Length: 4
            MSS Value: 1460
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Window scale: 2 (multiply by 4)
            Kind: Window Scale (3)
            Length: 3
            Shift count: 2
            [Multiplier: 4]
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        TCP SACK Permitted Option: True
            Kind: SACK Permission (4)
            Length: 2
 

To be sure, I duplicated the commands, added them to new, separate buttons in OR designer,
and viola, now, everything is working...

I am curious though, why did this happen ?

btw, first post on OR forum, so please be kind

A bit of a mystery, wondering the the controller.xml was showing the same or different ports?

Anyway, thanks for leaving a record here in case the issue re-surfaces.

Posted by juha at Sep 30, 2013 11:24

Your assumption is correct,
this is an extract from controller.xml

Because I based my OR screen on a template,
it may be that some commands where not successfully assigned to the buttons.
The template included a range of commands that I did not bother deleting,
because after all, this was for test purposes only.
In retrospect, I probably should have started from scratch

As an example, button 10

    <button id="10">
      <include type="command" ref="118" />
    </button>

Leads to this command

    <command id="118" protocol="telnet">
      <property name="port" value="5150" />
      <property name="command" value="null|up" />
      <property name="ipAddress" value="192.168.1.100" />
      <property name="name" value="Up" />
    </command>
    

but should have led to this command,
which is the command that is assigned in the designer.

    <command id="114" protocol="socket">
      <property name="port" value="4998" />
      <property name="command" value="sendir,4:2,1,38000,1,1,341,169,21,21,21,21,21,21,21,21,21,21,21,63,21,21,21,21,21,21,21,21,21,21,21,63,21,21,21,21,21,21,21,21,21,21,21,63,21,21,21,21,21,63,21,21,21,21,21,21,21,63,21,21,21,63,21,63,21,21,21,63,21,63,21,63,21,3800" />
      <property name="ipAddress" value="192.168.1.100" />
      <property name="name" value="MAIN UP" />
    </command>

Is there a way to see the <button id> in the OR desginer ?

Posted by smex at Sep 30, 2013 18:59

Is there a way to see the <button id> in the OR desginer ?

No, the ids are hidden in the designer view, only visible in the XML documents.

Posted by juha at Oct 02, 2013 10:36
Document generated by Confluence on Jun 05, 2016 09:42