Hi Karsten,

I did not try it. If its not working as documented, then it is probably a bug.

I had a quick look to the code, the module uses the same function 
(add_dest2list) to actually add the destination data structure, regardless if 
its load from cfg or from db.

Cheers,

Henning

--
Henning Westerholt – https://skalatan.de/blog/
Kamailio services – https://gilawa.com<https://gilawa.com/>

From: Karsten Horsmann <[email protected]>
Sent: Monday, December 16, 2019 5:23 PM
To: Henning Westerholt <[email protected]>
Cc: Kamailio (SER) - Users Mailing List <[email protected]>
Subject: Re: [SR-Users] OPTION pings with dispatcher to asterisk box

Hi Henning,

i assume that the example of the dispatcher.list is portable to any sql based 
dispatcher szenario.
Tried code=401 (was not working) and now class=4.

So now i am thinking, that is *never* possible to overwrite or add class/code 
szenarios for dispatcher targets.
And with that in mind, the module documentation with the "class=4" entry in 
dispatcher.list file is WRONG.

Tried that:


        "SET":  {
          "ID": 1200,
          "TARGETS":  [{
              "DEST": {
                "URI":  "sip:TRUNK.DNSNAME.EXAMPLE;transport=tls",
                "FLAGS":  "IP",
                "PRIORITY": 0,
                "ATTRS":  {
                  "BODY": 
"socket=tls:XX.XX.XX.XX:5061;ping_from=sip:TRUNK.DNSNAME.EXAMPLE;class=4",
                  "DUID": "",
                  "MAXLOAD":  0,
                  "WEIGHT": 0,
                  "RWEIGHT":  0,
                  "SOCKET": "tls:XX.XX.XX.XX:5061"
                },
                "LATENCY":  {
                  "AVG":  22.099998,
                  "STD":  2.514403,
                  "EST":  22.099998,
                  "MAX":  27,
                  "TIMEOUT":  0
                }
              }
            }]
        }
      }]


Cheers Karsten

Am Mo., 16. Dez. 2019 um 15:23 Uhr schrieb Henning Westerholt 
<[email protected]<mailto:[email protected]>>:
Hi Karsten,

have a look to the docs:

“e.g. "class=2" would accept everything from 200 to 299 as valid response” – so 
that class 4 is probably everything from 400 – 499.

Cheers,

Henning

--
Henning Westerholt – https://skalatan.de/blog/
Kamailio services – https://gilawa.com<https://gilawa.com/>

From: sr-users 
<[email protected]<mailto:[email protected]>>
 On Behalf Of Karsten Horsmann
Sent: Monday, December 16, 2019 1:01 PM
To: Kamailio (SER) - Users Mailing List 
<[email protected]<mailto:[email protected]>>
Subject: Re: [SR-Users] OPTION pings with dispatcher to asterisk box

Hi Joel, hi List,

okay in asterisk i must add an correct match entry. But i am confused about the 
dispatcher documentation.

What means the class=4 in the attributes field? AFAIK from now, dispatcher 
OPTION pings cans be only configured global with modparam settings,
same as you can only global enable or disable OPTION pinging.

Maybe some developers knows that example with "class=4" is meaning here.

https://kamailio.org/docs/modules/5.3.x/modules/dispatcher.html#dispatcher.p.ds_ping_reply_codes

For database, each element of a line resides in a different column. Next is a 
dispatcher.list file example:

Example 1.50. dispatcher list file

...

#

# dispatcher destination sets (groups)

#



# line format

# setid(int) destination(sip uri) flags(int,opt) priority(int,opt) 
attributes(str,opt)



# proxies

2 sip:127.0.0.1:5080;transport=tcp 0 10 class=4;prefix=448;strip=2

Cheers
Karsten

Am Sa., 14. Dez. 2019 um 07:45 Uhr schrieb Karsten Horsmann 
<[email protected]<mailto:[email protected]>>:
Hi Joel,

Ah the wrong seperator typo should be a problem. :)

I would prefer to use class=2 as default and on special cases an additional 
code=404.

And in dispatcher I wrote the seperator correctly.

Will check that monday.

Cheers
Karsten

Joel Serrano <[email protected]<mailto:[email protected]>> schrieb am Sa., 14. 
Dez. 2019, 03:26:
Hey Karsten,

I'm using that same modparam and it's working as expected. My example:

modparam("dispatcher", "ds_ping_reply_codes", 
"class=2;code=403;code=488;code=405;class=3")

I believe the problem is that you are using a comma "," as separator, and the 
correct separator is a semi-colon ";"???

BTW (offtopic), to make Asterisk answer with a 200 OK, you can do the following:

Add to extensions.conf...

[default]
exten => s,1,Wait(1)
same => n,Hangup

This will make asterisk respond with a 200OK instead of a 404 Not Found. This 
"default" is dependent on the context= parameter in sip.conf, if you have 
changed it, you will have to name the extension accordingly. And lastly, AFAIR 
you don't need the wait(1) and probably can do the hangup() directly, I needed 
it for different reasons, give it a try.

This works for OPTIONS sent to a sip:IP:Port address, if you are using a 
monitoring system or cli tool or similar that sends OPTIONS to 
sip:something@ip:port, then the following dialplan works (I'll use "nagios" as 
an example: sip:[email protected]:5060) :

[default]
exten => nagios,1,Wait(1)
same => n,Hangup

You can combine both if you have both kinds:

[default]
exten => s,1,Wait(1)
same => n,Hangup
exten => nagios,1,Wait(1)
same => n,Hangup

etc....


Hope this helps!

Joel.





On Fri, Dec 13, 2019 at 8:35 AM Karsten Horsmann 
<[email protected]<mailto:[email protected]>> wrote:
Hello all!

i am using kamailio 5.3.1-4 on CentOS and i am using dispatcher to ping his 
targets.
Now i have someone with asterisk that answers with 401 or 404 (depends on 
asterisk version).

So i tried  code=401;code=404 as aditional attrs. Seems not to work.
Also i tired to change the modparam from class=2 to this:
  modparam("dispatcher", "ds_ping_reply_codes", "class=2,code=401,code=404")

Is that a "bug" or a hidden feature, or i missed something?

Btw - Have a nice weekend!

SELECT * FROM dispatcher WHERE id=1 \G
*************************** 1. row ***************************
         id: 1
      setid: 1100
destination: sip:SOMEWHERE;transport=tls
      flags: 0
   priority: 0
      attrs: 
socket=tls:MY.IP.AD.RR:5061;ping_from=sip:MY.SIP.DOMAIN;code=401;code=404
description: UNTRUSTED



        "SET":  {
          "ID": 1100,
          "TARGETS":  [{
              "DEST": {
                "URI":  "sip:SOMEWHERE;transport=tls",
                "FLAGS":  "IP",
                "PRIORITY": 0,
                "ATTRS":  {
                  "BODY": 
"socket=tls:MY.IP.AD.RR:5061;ping_from=sip:MY.SIP.DOMAIN;code=401;code=404",
                  "DUID": "",
                  "MAXLOAD":  0,
                  "WEIGHT": 0,
                  "RWEIGHT":  0,
                  "SOCKET": "tls:MY.SIP.DOMAIN:5061"
                },
                "LATENCY":  {
                  "AVG":  48768.816406,
                  "STD":  139490.953125,
                  "EST":  43359.566406,
                  "MAX":  568876,
                  "TIMEOUT":  8
                }
              }
            }]
        }
      }]

#!ifdef WITH_MYSQL
modparam("dispatcher", "db_url", "DBURL")
modparam("dispatcher", "table_name", "dispatcher")
#!endif
#!ifndef WITH_MYSQL
modparam("dispatcher", "list_file", "/etc/kamailio/dispatcher.list")
#!endif
modparam("dispatcher", "ds_ping_method", "OPTIONS")
modparam("dispatcher", "ds_ping_from", "<sip:ping@FANCY-COMPANY-WEBNAME>")
modparam("dispatcher", "ds_ping_interval", 30)
modparam("dispatcher", "ds_probing_mode", 1)
modparam("dispatcher", "ds_probing_threshold", 2)
modparam("dispatcher", "setid_pvname", "$var(setid)")
modparam("dispatcher", "attrs_pvname", "$var(attrs)")
modparam("dispatcher", "ds_ping_reply_codes", "class=2,code=401,code=404")
modparam("dispatcher", "ds_ping_latency_stats", 1)


https://community.asterisk.org/t/asterisk-responds-with-404-to-options-even-when-an-endpoint-is-matched/76238




Dec 13 17:25:46 siptrunk3 /usr/sbin/kamailio[25115]: INFO: <script>: Sending 
message
'OPTIONS sip:SOMEWHERE;transport=tls SIP/2.0
Via: SIP/2.0/TLS 
MY.IP.AD.RR:5061;branch=z9hG4bK2527.825671c0000000000000000000000000.0
To: <sip:SOMEWHERE;transport=tls>
From: <sip:MY.SIP.DOMAIN>;tag=f9bf2579cb456ea8d260d4aabc8248ef-9ca844ad
CSeq: 10 OPTIONS
Call-ID: 
[email protected]<mailto:[email protected]>
Max-Forwards: 70
Content-Length: 0
User-Agent: SBC-OS

'
Dec 13 17:25:46 siptrunk3 /usr/sbin/kamailio[25127]: INFO: <script>: Received 
message
'SIP/2.0 404 Not Found
Via: SIP/2.0/TLS 
MY.IP.AD.RR:5061;branch=z9hG4bK2527.825671c0000000000000000000000000.0;received=MY.IP.AD.RR
From: <sip:MY.SIP.DOMAIN>;tag=f9bf2579cb456ea8d260d4aabc8248ef-9ca844ad
To: <sip:SOMEWHERE;transport=tls>;tag=as54adca41
Call-ID: 
[email protected]<mailto:[email protected]>
CSeq: 10 OPTIONS
Server: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, 
PUBLISH, MESSAGE
Supported: replaces, timer
Accept: application/sdp
Content-Length: 0

'
--
Cheers
*Karsten Horsmann*
_______________________________________________
Kamailio (SER) - Users Mailing List
[email protected]<mailto:[email protected]>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
Kamailio (SER) - Users Mailing List
[email protected]<mailto:[email protected]>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users


--
Mit freundlichen Grüßen
*Karsten Horsmann*


--
Mit freundlichen Grüßen
*Karsten Horsmann*
_______________________________________________
Kamailio (SER) - Users Mailing List
[email protected]
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to