Sanitycheck when adding devices.

Leif Neland6 years ago

I have set the server to autocreate devices.

(How hard can it be to understand "the device id is mr followed by your participiant number, for instance mr201)

It works, even though I have to manually fix the persopns who just enter their number, not the letters)

But I found an user with uniqueid 4, and saw this in the log:

2018-08-03 17:31:17 DEBUG: [4A733018: 5009 < 54.36.108.132] HEX: 4f5054494f4e53207369703a393732353938383333333633403231332e33322e32332e3230313a353030393b7472616e73706f72743d7564703b757365723d70686f6e65205349502f322e300d0a5669613a205349502f322e302f5544502035342e33362e3130382e3133323a34323630393b6272616e63683d7a39684734624b2d3439353039392d312d2d2d30627673656e7469327377656f796c763b72706f72740d0a4d61782d466f7277617264733a2037300d0a436f6e746163743a203c7369703a3231333332323332303130304035342e33362e3130382e3133323a34323630393b7472616e73706f72743d7564703e0d0a546f3a203c7369703a393732353938383333333633403231332e33322e32332e3230313a353030393b7472616e73706f72743d7564703b757365723d70686f6e653e0d0a46726f6d3a203c7369703a3231333332323332303130304035342e33362e3130382e3133323a34323630393b7472616e73706f72743d7564703b757365723d70686f6e653e3b7461673d796c69677072396b0d0a43616c6c2d49443a20574433693649495077306278496b4775793176646b562e2e0d0a435365713a203120494e564954450d0a416c6c6f773a20494e564954452c2041434b2c2043414e43454c2c204259452c204e4f544946592c2052454645522c204d4553534147452c204f5054494f4e532c20494e464f2c205355425343524942450d0a436f6e74656e742d547970653a206170706c69636174696f6e2f7364700d0a557365722d4167656e743a204164645061632053495020476174657761790d0a416c6c6f772d4576656e74733a2070726573656e63652c206b706d6c2c2074616c6b0d0a436f6e74656e742d4c656e6774683a20300d0a0d0a
2018-08-03 17:31:18  INFO: Automatically registered device 4

This gets decoded to

OPTIONS sip:972598833363@213.32.23.201:5009;transport=udp;user=phone SIP/2.0
Via: SIP/2.0/UDP 54.36.108.132:42609;branch=z9hG4bK-495099-1---0bvsenti2sweoylv;rport
Max-Forwards: 70
Contact: <sip:213322320100@54.36.108.132:42609;transport=udp>
To: <sip:972598833363@213.32.23.201:5009;transport=udp;user=phone>
From: <sip:213322320100@54.36.108.132:42609;transport=udp;user=phone>;tag=yligpr9k
Call-ID: WD3i6IIPw0bxIkGuy1vdkV..
CSeq: 1 INVITE
Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO, SUBSCRIBE
Content-Type: application/sdp
User-Agent: AddPac SIP Gateway
Allow-Events: presence, kpml, talk
Content-Length: 0```

As port 5009 is the Meiliago protocol, which contains a checksum, I find it worrying that this SIP "conversation" can be interpreted as a device with id 4.
Anton Tananaev6 years ago

The problem is that for binary protocols there is no way to validate message. In this case Traccar takes message sent by some SIP spammer and tries to decode it. One thing you can do is disable protocols that you don't use.

Leif Neland6 years ago

Yeah, but what is the chance that the checksum computes correct?

Anton Tananaev6 years ago

Unfortunately we don't check checksum on server side.

Leif Neland6 years ago

The protocols are all listed in default.xml

If we are supposed to leave default.xml alone, and only have changes in traccar.xml, how do we disable protocols in traccar.xml?

Only way is by deleting from default.xml, it seems.

Leif Neland6 years ago

Setting the portnumber to 0 stops the protocol

   <entry key='gl100.port'>0</entry>
Anton Tananaev6 years ago

Alternatively you can just block ports on the firewall.

Leif Neland6 years ago

But that still uses ressources for unneeded listeners, right?

Anton Tananaev6 years ago

Yes, but if ports never receive any data then resource usage is negligible.