isdnlogd

Hoi Germ, RGJ,

Ik heb isdnlog-0.03.zip op mijn anonieme ftp server gezet. Het is alleen een kaal service programma.

Germ, Je hoeft deze versie niet te testen. Ik maak soms een versie waarop ik later weer verder borduur.

Je hebt m.i. eigenlijk drie threads.

  1. De service thread (win_main2(int argc, char **argv)). Hierin bouw je alles op. Als conditie (ready_to_exit) waar wordt dan ga je afbouwen.

  2. Een thread (handle_isdnlogd_requests)()) die de isdn capi dll gaat monitoren. Ik heb dit gesimuleerd in deze versie door om de 5 seconden een regel in c:\test.txt te zetten.

  3. Mogelijk een shutdown thread (handle_shutdown)()) die zorgt dat bij shutdown het programma doorloopt en het programma geen “not reponding” status krijgt. Deze thread heb ik nog niet aangezet in de code.

Het opbouwen gaat goed. Het beëindigen werkt ook. Echter het gecontroleerd afbouwen heb ik nog niet voor elkaar. Je zal goed moeten uitzoeken hoe je alles (“ bijvoorbeeld alle threads”, control C) laat synchroniseren. Vandaag voor het eerst met threads bezig --)

Ik ga nu een isdnlog-0.04.zip maken waarin ik de fshisdnlog code er in toevoeg. Het synchronisatie m.b.t. de afbouw ga ik later oplossen.

De vriendelijke groet Jan Marco

P.S. Ik zie ook in mysqld:

static void init_signals(void)
{
signal(SIGQUIT, sig_kill);
signal(SIGKILL, sig_kill);
signal(SIGTERM, sig_kill);
signal(SIGINT, sig_kill);
signal(SIGHUP, sig_reload); // Flush everything
signal(SIGALRM, SIG_IGN);
signal(SIGBREAK,SIG_IGN);
signal_thread = pthread_self();
}

Ik denk dat ik hier ook iets mee moet. Afhankelijk van het “signaal” een andere procedure uitvoeren.

Hoi Germ,

Ik heb versie isdnlogd-0.06.zip op mijn anonieme ftp server (www.foonsearch.com) gezet.

Deze versie start op na reboot van de windows machine. Hij haalt mysql hostnaam, database, user uit de registery. Deze info wordt door Foondump/Megafoon aangemaakt.

Om hem te installeren als service:

  1. De isdnlog mysql tabellen aanmaken met

mysql foondump2004<isdnlogd.sql

  1. gewoon in een dosbox

isdnlog –install

intoetsen.

  1. Het starten van de isdnlog service:

Start -> Configuratie scherm -> Systeem Beheer -> Services ->

Op isdnlog klikken, hierna op “start” button klikken.

  1. Om hem weer te removen:

In service window de service isdnlog stoppen. Hierna in een dosbox hem removen met:

isdnlog -remove

De vriendelijke groet Jan Marco

P.S. Om te checken (in een dosbox) of het in mysql komt:

mysql

use foondump2004

select * from isdnlog;

Hoi Germ, RGJ, Ter info,

Vanmorgen geprobeerd om isdnlog op mijn laptop (windows xp + Etech PCMCIA ISDN, CAPI 2.0) aan de praat te krijgen.

Bij installatie van de kaart kon ik kiezen tussen National ISDN NL-1 en European ISDN DSS1. De laatste heb ik gekozen.

Ik krijg een fout in het parsen van het capi protocol. Namelijk ik zie de waarde 0 in function Decode_Sub() ipv Hex 80 t/m Hex 83.

De vriendelijke groet Jan Marco

Jan Marco,

zag dat er ook een 0.07 versie op je server stond.
Heb deze maar gepakt en ga hem volgens instructie installeren.

vr gr

Germ

Hoi Germ,

Ik heb twee fouten op mijn XP laptop.

  1. het stoppen van isdnlogd service op XP gaat niet goed.
    Ik krijg mem error op XP. Deze error krijg ik niet op mijn Windows2000 professional pc.

  2. het parsen van isdn protocol op laptop gaat niet goed. Mogelijk gebruiken ze een andere capi format versie bij de Etech PCMCIA ISDN.

Volgend weekend beide zaken uitzoeken --)

De vriendelijke groet Jan Marco

Hoi RGJ,

De fout (mem error) in het stoppen van de isdnlogd service op XP zit in handle_isdnlogd_requests thread.

if (pthread_create(&hThreadmain,&connection_attrib, handle_isdnlogd_requests, 0))

Ik zal nog gaan uitzoeken of het te maken heeft met de capi monitor parse error of dat bovenstaande sub thread nog doorloopt en de bijgehorende main service thead al is afgesloten.

De vriendelijke groet Jan Marco

wat is dit voor een tool

Hoi Duppie,

wat is dit voor een tool

isdnlogd is een windows service programma dat de technische monitoring doet van binnen komende isdn calls. Het monitort wie, wanneer gebeld heeft in MySQL. Het programmatje is relatief klein.

Mijn bedoeling is om via een MFC GUI de technisch ISDN registratie database uit te lezen.

Het programma werkt niet goed met een nieuwe ppc Etech kaart. RJG’s RING programma werkt wel goed. Als RING af is ga ik “de tien verschillen zoeken” om het programma ook voor mijn Etech ppc kaart goed te laten werken.

De vriendelijke groet Jan Marco

Dames, Heren,

Ik heb vrij genomen om isdnlogd ‘af’ te maken. Ik wil vandaag beginnen om de ODBC koppeling te herstellen, echter ik heb geen MSSQL draaien.

Met access kan je het ook wel testen alleen Access heeft limitatie m.b.t. de grootte van de tabellen.

Heeft iemand ervaring met MSSQL. Gewoon SQL 2005 downloaden van http://www.microsoft.com/sql/2005/productinfo/ctp.mspx en dan komt het goed?

Mogelijk hebben jullie ook een Isdn lijn en ODBC koppeling en kunnen jullie mij helpen met testen van isdnlogd --)

De vriendelijke groet Jan Marco

Testen?

Ik ben weer van de partij.

Germ

Hoi Germ,

Ik ben weer van de partij.

Super --)

Gisteren begonnen met de ODBC koppeling. Niet alle MySQL SQL werkt bij ODBC SQL. Bijvoorbeeld “SELECT MAX(SNcapilog) AS SNcapilog FROM capilog;” maar vervangen door “SELECT MAX(SNcapilog) FROM capilog;”.

Ik wil eerst de backend in RING ‘af’ maken en daarna de backend gaan programmeren in Isdnlogd.

Alle service programmering behalve de “–load” werkt al in isdnlogd. Dus vanuit dosbox kan je service installeren en starten/stoppen.

isdnlogd -install
isdnlogd -InstallStart
isdnlogd -load
isdnlogd -remove
isdnlogd -start
isdnlogd -stop

De –load optie is een trigger naar het serviceprogramma/windowsproces dat nieuwe informatie is binnen gekomen. Het serviceprogramma kijkt dan in de database wat er gebeuren moet. Het triggeren ga ik met tcp/ip portprogramming doen. Het kan denk ik wel op simpelere manier, maar ik wil isdnlogd als framework voor andere programma’s gebruiken.

Ik denk hierbij aan een Skype achtige variant. Foonsearchd.exe krijgt een SQL berichtje binnen (met online prioriteit) dat een andere peer met een VoIP telefoon/webcam je wilt bellen. Foonsearchd verwerkt het berichtje en stuurt een lokaal tcp/ip (interrupt) request naar videocalld serviceprogramma om een verbinding met deze externe peer op te zetten.

De vriendelijke groet Jan Marco

Hij geeft foutmelding als ik lege tekst velden probeer te inserten in ODBC.

Ik heb het opgelost door als een veld leeg is maar een spatie te gaan inserten.

Hierbij een voorbeeld:

if (strcmp(printname, “”) == 0)
{
strcpy(printname, " ");
}

De vriendelijke groet Jan Marco

Hoi Germ,

Vandaag even de ODBC/MySQL Backend programmering van RING poorten na isdnlogd. Ook het aantal sekonden dat het duurt tot je de telefoon “opneemt” in database gaan zetten.

De vriendelijke groet Jan Marco

P.S. Met ODBC kan je andere databases gebruiken zoals Access, MSSQL, Oracle, DB2, etc.

Hoi Germ,

Dit weekend isdnlogd proberen af te bouwen:

  1. Ik heb “MySQL/ODBC” back-end-code van RING in isdnlogd gestopt. Deze code ga ik straks weer terug zetten naar RING. Krijg je dezelfde back-end code in beide projecten.

  2. Een extra veld (StartTime) in capilog opgenomen. Het veld geeft aantal seconden aan voordat je hem opneemt. Het is bij mij een getal tussen 3 en 90 seconden.

  3. Het termineren met Control-C is mij bij MySQL gelukt. Bij ODBC moet ik nog een probleem oplossen dat hij twee maal Close() op database connectie uitvoert. Bij de laatste blijft hij hangen.

De vriendelijke groet Jan Marco

Hoi Germ,

Ik heb back-end van ODBC uitgezet. Ik zie dat bij afsluiten van het programma de verwerkingsthread niet stopt. Ik ga vandaag wat test programma’s maken op deze fout op te lossen. Als ik dit oplos kan ik de oplossing ook in foonseachd.exe stoppen.

De vriendelijke groet Jan Marco