Validate kannel configuration (aside from running kannel) - kannel

Is there a way to make sure that a certain Kannel configuration is consistent?
Probably I could write a script that checks that all parameter groups have exactly one
'group = '
all mandatory groups are present, all included files are present and valid themselves, etc.
However, maybe there's a standard way already?

In Kannel configuration file, there are many groups for different purposes.
For admin details.
group = core
for modems where you define your USB modem configurations.
group = modems
If you are looking for a complete configuration file. You can get a complete configuration file from here.

Related

Increase number of Nodes in Network but limit number TCP enabled

I am building off the XO game from the sawtooth SDK and am running into several issues. First, I am able to sucessfully modify the XOHandler to modify the type of data I am uploading to the network. I have been working with the shell default so I am a little unfamiliar with how the other containers work. I am running some tests and need to run a network with 100, 500 and, 1000 nodes respectivly. I am using a docker enviorment and the yaml file that specifies 5 total validators. For my network I am doing a quorum based consensus so I only want maybe 10 validators that are tcp enabled. Is their a good way of simulating this scenario? I thought I would just need to add a bunch of validators directly in the yaml file but I found this in the Sawtooth documentation. https://sawtooth.hyperledger.org/docs/1.2/sysadmin_guide/pbft_adding_removing_node.html#adding-a-pbft-node-label
This is confusing to me because it sounds like these are the steps taken for the Ubuntu Sawtooth install. I just copied the sawtooth core off of github so I am not sure which steps I should be following. I also have the issue of the yoml file. I found some stuff mentioning that this file stored some information about the validators however when I go the ./etc/sawtooth/ directory inside the docker their is no yoml file. Am I in the wrong place? That is the first question.
Second question concerns the Dependencies array in the transaction header. My network is designed in a way that I will need dependencies set between different blocks. I am also doing a one block per batch network. Whenever I would add dependencies however I run a RepeatGossip error and it says the block has already been added. My input and output fields are the same. Any feedback on this message? Of course the parent has already been added but specifying the parents in dependencies shouldn't block the block upload.

Omnetpp wirelesshost sending useful information

I am new to Omnetpp, and I am trying to send messages from one node to another wirelessly.
Basically, I would like to do something as in the tictoc example of Omnetpp (https://docs.omnetpp.org/tutorials/tictoc/) but then wirelessly.
I have installed INET already, and I have seen the wireless example, which uses the UdpBasicAPP. However, I do not know how to change the data of the message send while using the UdPBasicAPP. In my case, what I am sending (i.e. the data) is very important because it is part of a bigger project. Eventually, the idea is to use the 802.11p standard (which exists in VEINS) and multiple nodes, but I thought this was a good place to start.
I hope someone can help me out.
Kind regards
just to be aware: 802.11p is also supported directly in INET. Just set the opMode parameter on the network interface.
You will need to create your own application module. Take a look/copy UdpBasicApp and modify it according to your needs. Check the sendPacket() function which creates an ApplicationPacket. ApplicationPacket contains only a single sequence number, but you can create your own application level data structure and use that for sending.

SNMP - how to write mib module?

I want to read data from my sensors on 2 devices with SNMP(net-SNMP).
Do I have to write my own mib code for this?
I want to read the sensor data on these two devices via a manager code.
what do I need to do about this?
You should first check if a MIB for your device already exists: go check to this site.
You should then see if you need a SNMP Subagent: if you want to extend your SNMP Master Agent with MIBs different from the default ones (like system or network), you should use a Subagent (see here on how to extend a Master Agent with a Subagent; usually, this is performed through AgentX protocol).
You may run the entire echosystem on your localhost and see first if all the components are up and operative: in this phase, you may mimic your sensors by returning hard-coded values to your Subagent.

if of-hook agents in freeswitch can confirm incoming call from queue?

in default configuration in freeswitch, when a call falls into the queue and is routed to an agent, he immediately answers, I want to change that ...
so is there a way (is this possible) for off-hook agents (always connected agents) to acknowledge the call before bridge (for example by pressing DTMF code) ?
Yes, this is possible. In Freeswitch callcenter module (mod_callcenter.c), you can change it according to your need before bridge to agent. And you can write the code for sending dtmf to off-hook agents. I used to do the changes as per my requirement and I also wrote many custom specific modules.
you can achieve exporting group_confirm variables before executing the callcenter app.
-- first set the variables that you want to export
session:setVariable('group_confirm_file', 'file_string:///var/lib/freeswitch/confirm.wav')
session:setVariable('group_confirm_key', '1')
session:setVariable('confirm', 'true')
-- Exporting varibles, this variables the callcenter app will use and add to agents
session:setVariable('cc_export_vars', 'group_confirm_file,group_confirm_key,confirm')
-- Then now execute the callcenter app
session:execute('callcenter', 'QUEUE-NAME-HERE')
Note: This example I used LUA, but it will be the same on XML

Bash/Syslog referer Address

I have a syslog server, but I need to find out the URL that has been used to reach my server. For example I have syslog1.example.com and syslog2.example.com, both of which hit the same server, then in the conf file I will filter which URL was set and update a database field based on this value.
I have added fields to the database and using the conf file I am able to manipulate the request, but I need the referer URl. Does anyone have any idea how I can get this.
Obviously I have managed everything else, but have tried little towards this part of the task as I need to know if it is possible and my searches are bringing up results based on Curl which is not what I need. If anyone knows how I can get the URL, it would be most appreciated.
Update
I have a device which has busybox and syslogd installed. I am able to set an address on the device for the syslog, for example 1.1.1.1:514. But I am not able to do anymore on the device other than this.
I have for example 100 devices, 50 are type A and 50 are type B. The issue is that when using 1.1.1.1:514 in every device as the syslog server address, when receiving the device information on the remote syslog server I am unable to differentiate whether the device is type A or type B.
I have the following solution in mind, although there may be another way to achieve this. If I create two subdomains and point them to the same address, ie typea.example.com and typeb.example.com, then in theory in devices with a type A I will set the remote syslog address to typea.example.com:514 and for type B, typeb.example.com:514. Both of these subdomains will point to 1.1.1.1, therefore the syslog information is now being received by devices of Type A and devices of Type B.
I need to now figure out how to in the syslog.conf on the remote server, find out whether the information was received by a device using typea.example.com or typeb.example.com.
The server does not have apache installed etc, however, in PHP for example we can use $_SERVER and normally I would be able to retrieve this information from, $_SERVER['HTTP_HOST']. Is there any way to do this in the syslog.conf on the remote syslog server.
As mentioned this is one solution I have in mind and it may not be the only one. Syslog is new to me and I am currently wrapping my head around this. From what I understand rather than variable or parameters, syslog uses macros. None of the macros provided seem to give me the information I need.
I know I can also set the syslog by doing say
syslogd -R 1.1.1.1:514
Is there anyway here I can include further information for example:
syslogd -R 1.1.1.1:514 type=a
Then I could say use $TYPE to get the value or alternatively add a custom header with the syslog.
As you can likely tell I am racking my brains for solutions and hitting brick walls. Any solution or docs that may point me in the right direction would be greatly appreciated.
Final point would be to mention I am also looking at redirecting the syslog info to a PHP script or a C (I'll say script but I know I am wrong) in order to vet the information there and then insert into the DB.
Quite simply I need a way to differentiate by type A or type B. Hopefully this clears matters up and these are not just the ramblings of a mad man.

Resources