Feel free to commit any changes you have to outbound.
There should be one difference between the enabled in WebSocket and in outbound. WebSocket already had the ability to be enabled/disabled through an MI command so the enabled cfg variable there actually does enable/disable WebSocket, but the outbound enabled variable should definitely be read-only.
Regards,
Peter
"Olle E. Johansson" <oej(a)edvina.net> wrote:
>
>30 mar 2013 kl. 21:33 skrev "Peter Dunkley" <peter.dunkley(a)crocodile-rcs.com>:
>
>> Done. I think.
>>
>> I don't have a system here to test WebSockets at the moment, but the
>> changes looked pretty straight-forward and it all compiles OK :-)
>>
>> Can you take a look and tell me if it is what you were thinking?
>
>kamcmd> cfg.get websocket keepalive_timeout
>180
>kamcmd> cfg.get websocket enabled
>1
>
>
>kamcmd> cfg.list
>websocket: keepalive_timeout
>websocket: enabled
>
>kamcmd> cfg.help websocket keepalive_timeout
>Time (in seconds) after which to send a keep-alive on idle WebSocket connections.
>(parameter type is integer)
>----------------------------------------------------
>
>This should be useful in snmpstats. Thanks! I'll work on that soon.
>
>I have a similar patch with "outbound enabled" - ok to commit in your module?
>
>That will be easy to copy to other module, like app_* and dnssec ;-)
>
>Having this functionality helps apps using RPC as well as SNMPstats users. Siremis is one good example. Ovidiu's HTTP
>framework is another.
>
>Database connections would be another good thing to be able to monitor with SNMP. I think we're on to something here.
>
>- Use a read-only config framework variable to declare a module loaded, initiated and working.
>- Use other variables for settings that can be changeable during runtime (but not during processing of a single message,
> which is a cool thing with the config framework).
>- Use this for exposing (read-only) functionality like "database connected and working"
>
>- Use this for modparams that you allow to change during runtime.
>
>Since there is a read-only flag, I suspect this was part of the design.
>
>What does the rest of the development gang think? Is this something useful - to use the config framework to
>tell other modules about the state of a module, not just configuration parameters?
>
>If we agree on this, we can add these flags to more modules as we go along.
>
>/O
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
The following task has a new comment added:
FS#280 - OpenBSD5.2 Crash on t_relay()
User who did this - Jody Rudolph (jrudolph)
----------
Unfortunately, I have yet to find the equivalent to enable this in OpenBSD. Currently trying.
----------
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=280#comment814
You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
The following task has a new comment added:
FS#280 - OpenBSD5.2 Crash on t_relay()
User who did this - Daniel-Constantin Mierla (miconda)
----------
Perhaps the corefile was overwritten by the main process, not by the one that crashed. You have to enable one core file per process.
----------
More information can be found at the following URL:
https://sip-router.org/tracker/index.php?do=details&task_id=280#comment813
You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
A new Flyspray task has been opened. Details are below.
User who did this - Jody Rudolph (jrudolph)
Attached to Project - sip-router
Summary - OpenBSD5.2 Crash on t_relay()
Task Type - Bug Report
Category - Core
Status - Unconfirmed
Assigned To -
Operating System - OpenBSD
Severity - Low
Priority - Normal
Reported Version - Development
Due in Version - Undecided
Due Date - Undecided
Details - I am working with two systems (one CentOS Linux and one OpenBSD5.2) both with current 4.0.x GIT.
When using the same minimal testing configuration settings, the OpenBSD system crashes when t_realy is called where the Linux system does not.
The configurations are minimal (testing, non-production) carrier-route look-up, then t_relay
The debug logging only shows (ip addresses and telephone numbers as x):
3(17327) DEBUG: carrierroute [cr_func.c:391]: searching for matching routing rules 3(17327) DEBUG: carrierroute [prime_hash.c:68]: hash: 1286613114 % 1000 = 114
3(17327) INFO: carrierroute [cr_func.c:595]: uri 17162597157 was rewritten to sip:1xxxxxxxxxx@xxx.xxx.xxx.xxx, carrier 1, domain 3
3(17327) DEBUG: <core> [socket_info.c:589]: grep_sock_info - checking if host==us: 11==12 && [xxx.xxx.xxx.xxx] == [xxx.xxx.xxx.xxx]
3(17327) DEBUG: <core> [socket_info.c:589]: grep_sock_info - checking if host==us: 11==11 && [xxx.xxx.xxx.xxx] == [xxx.xxx.xxx.xxx]
3(17327) DEBUG: tm [t_lookup.c:1395]: DEBUG: t_newtran: msg id=1 , global msg id=1 , T on entrance=0x0
3(17327) DEBUG: tm [t_lookup.c:534]: t_lookup_request: start searching: hash=63088, isACK=0
3(17327) DEBUG: tm [t_lookup.c:492]: DEBUG: RFC3261 transaction matching failed
3(17327) DEBUG: tm [t_lookup.c:716]: DEBUG: t_lookup_request: no transaction found
3(17327) DEBUG: tm [t_funcs.c:347]: SER: new INVITE
0(16201) ALERT: <core> [main.c:788]: child process 17327 exited by a signal 10
0(16201) ALERT: <core> [main.c:791]: core was generated
0(16201) INFO: <core> [main.c:803]: INFO: terminating due to SIGCHLD
20(21875) INFO: <core> [main.c:854]: INFO: signal 15 received
15(5638) INFO: <core> [main.c:854]: INFO: signal 15 received
16(1417) INFO: <core> [main.c:854]: INFO: signal 15 received
The backtrace always shows this (and not much else):
#0 0x000000000031ff18 in cfg_destroy () at cfg/cfg_struct.c:306
306 old_string = *(char **)(block + group->var_offset + mapping[i].offset);
(gdb) bt full
#0 0x000000000031ff18 in cfg_destroy () at cfg/cfg_struct.c:306
No locals.
#1 0x0000000000176660 in cleanup (show_status=1) at main.c:590
memlog = Variable "memlog" is not available.
(gdb)
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=280
You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.
Hi!
Looking at Websockets from a SNMP perspective, I would like to thank you for implementing counters - I just added them to SNMPstats.
In addition, I would like to be able to discover sub-protocols used (msrp, sip). I fail to see how I can do that now.
Do we have a Core API for publishing read-only data from modules? I guess we maybe could use PVs or XAVPs for that.
An ugly way would be to implement RPC in SNMPstats and issue RPC commands internally to fetch data, but that
means a lot of serializing that really is not needed as SNMPstats generally fetches one parameter (OID) at a time, not complete
sets.
Also, some of the modparam parameters could be exposed as cfg params - which would make it easier to change them at runtime with
sercmd, but also expose them in SNMPstats. I think keepalive_interval and keepalive_timeout are candidates for this.
Cheers!
/O
-----------------------------
Copy of my commit message, just to repeat myself:
Hint to developers: If you add statistics and selects in your module, you
make it very easy to add SNMP support for your module. Then SNMPstats
can just use generic APIs to find your data. Please also add a generic
way of finding out if a module is configured and used too, if possible.
Sometimes modules are just loaded, but not used anywhere. Better to
reflect real data in SNMP if possible.
Using the old "SER" way of using selects for config data that
is allowed to change at runtime opens up for SNMP writes to manage
your module as well.
And of course, using selects and counters/statistics variables also
helps the RPC interface, so it's both cool and the Right Thing To Do (TM).
Yes, commit messages can be informative as well. :-)
while testing tryit client, i started to wonder how lookup is done when
request uri of an in-dialog request contains a public gruu such as in
this:
BYE sip:bar@test.fi;gr=urn:uuid:38056f74-308b-42c9-b16d-0fa61b6ff1a1 SIP/2.0
registrar/lookup.c has:
if(puri.gr.s==NULL || puri.gr_val.len>0)
{
/* aor or pub-gruu lookup */
ul.lock_udomain(_d, &aor);
res = ul.get_urecord(_d, &aor, &r);
...
why is lookup done based on aor bar(a)test.fi instead of gruu
urn:uuid:38056f74-308b-42c9-b16d-0fa61b6ff1a1 found in location/instance
field?
-- juha
Hi!
I am in no way a MIB expert, I'm learning as I move along here. If you know about SNMP Mibs and have some opinions,
please review my changes and give me feedback.
I am building a new structure more adopted to Kamailio, not at all replacing the standard MIBs, but exposing
more data about the Kamailio core process, memory and module variables. I might have gone overboard with sub-levels,
but I am a structure freak... ;-)
Much of this data is currently available in the RPC interface and I've written shell scripts for NET-SNMP before
to expose them, but it's far more efficient to do it natively in the SNMP process.
Additionally, I would like to be able to run SNMPstats as a standalone SNMP agent for cases where there
are multiple Kamailio processes on one server. This is what I currently do with Asterisk, where the SNMP
module can be configured as an Agentx sub-agent or a full agent. If anyone has done this before and
wants to code - I look forward to your help!
/O