OBiTALK Community

General Support => Day-to-Day Use => Topic started by: Smee on April 13, 2013, 11:00:35 PM

Title: Obi2Yac: Yac & Growl Notification Daemon
Post by: Smee on April 13, 2013, 11:00:35 PM
     The one and only thing I miss about my land line since switching to GV and Obi, is CNAM.  I also used YAC in my home to display CallerID to all of my PCs and TiVos in my house before the switch.  So in January I got to work on building my own YAC server to replace the old, but still use the old YAC clients on my PCs and TiVos.  A few nights later, the first version of Obi2Yac was born.  It relied on Kiwi to execute Obi2Yac whenever the CallerID magic string was received.  I also managed to get Growl notifications to work as well so my tablet and phone could join the fun.  ;D Last month, QBZappy asked that I send him a link to my program.  I did, but I realized that I used a registered version of Kiwi and therefore it would be useless to him.  I updated the application to no longer need Kiwi and instead, it is now its own Syslog daemon.  Thanks QBZappy!  :D

     This application is written using AutoIt.  It is designed to do name substitutions based on a phone number located in local access database.  If the name is not found in the local database, it will query OpenCNAM/WhitePages.com and hope it gets lucky during it's query.  Failing that, it returns NAME UNAVAILABLE for CNAM.  Queries using Whitepages.com will only occur if you have a valid APIKey defined in the INI.  Results are then broadcast to Yac listeners defined in the database or Growl if enabled and installed on the same PC.  All successful  queries are cached to improve speed during future calls. This script runs as a Syslog server and is designed to work with an Obi set to forward Syslog data to PC where Obi2Yac is running.  I have only tested this to run on an Obi configured for Google Voice.  Using it with another SIP provider should work as well, but your mileage may vary.

   You can find my program sources here: https://github.com/TheSmee/obi2yac (https://github.com/TheSmee/obi2yac)
   You can find my program releases here: https://github.com/TheSmee/obi2yac/releases (https://github.com/TheSmee/obi2yac/releases)
   You can find YAC clients here: http://www.sunflowerhead.com/software/yac/ (http://www.sunflowerhead.com/software/yac/)
   You can find Growl for Windows here: http://www.growlforwindows.com/gfw/ (http://www.growlforwindows.com/gfw/)
   You can find Growl for Android here: https://play.google.com/store/apps/details?id=com.growlforandroid.client (https://play.google.com/store/apps/details?id=com.growlforandroid.client)

Access Database Tables are as follows:

Obi2Yac uses an INI file to define the following:

     This is AutoIt and not terribly sophisticated to use so anyone should be able to follow what I did and make changes rather easily.  Sources are available for download, but if you do improve upon it, please post the changes so others benefit.

Have fun...  ;D

Smee
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: QBZappy on April 14, 2013, 07:29:10 AM
Smee,

This is one of those 3rd party apps that the OBi community can put to practical use. I appreciate the fact that it is possible to follow the coding and make some minor changes to it in case the OBi syslog messages are modified by obihai, as it has already happened in the past rendering any solutions difficult to modify if it is hardcoded.

Let me be the first to ask for a product feature. Would it be too difficult to do an Outlook contact lookup and open the contact form or journal? I live in my contact management software. This would be a killer extension of the OBi for me, and I suspect others as well. This could be a reward on my 2000th milestone post!

Three cheers for Smee!
Hip hip hooray
Hip hip hooray
Hip hip hooray

Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: ianobi on April 14, 2013, 08:13:17 AM
QBZappy,

Wow - 2000 posts - you have been busy! Thanks for all the useful info you have posted. This forum would not be the same without you   :)
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: MickW on April 14, 2013, 04:38:56 PM
Or Install GrowlerID from Riotouslabs.com here is a link

http://riotouslabs.com/Support/topic6-growlerid-beta-stopped-working.aspx (http://riotouslabs.com/Support/topic6-growlerid-beta-stopped-working.aspx)
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: Ostracus on April 14, 2013, 07:03:04 PM
Quote from: ianobi on April 14, 2013, 08:13:17 AM
QBZappy,

Wow - 2000 posts - you have been busy! Thanks for all the useful info you have posted. This forum would not be the same without you   :)

You're not doing too shabby yourself.
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: Smee on April 14, 2013, 08:49:48 PM
Quote from: MickW on April 14, 2013, 04:38:56 PM
Or Install GrowlerID from Riotouslabs.com here is a link

http://riotouslabs.com/Support/topic6-growlerid-beta-stopped-working.aspx (http://riotouslabs.com/Support/topic6-growlerid-beta-stopped-working.aspx)

Sure, if Growl is all you need.  Obi2Yac includes YAC support (Obviosly)  :P + OpenCNAM queries.  Best still, not closed source.  ;D

Smee
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: Smee on April 30, 2013, 10:28:39 AM
Never content in something only doing one thing, and just because I could, I have been making a few changes to Obi2Yac to help me receive notifications.  I don't know if folks would be interested, but if you are let me know and I'll post the code.  So here is the scenerio.

I have a home alarm system.  It is self managed and it has an auto dialer.  We are in the 21st century and auto dialers are so old school, but still safe bets.  I wanted my alarm to alert me, neighbors and anyone else I want via email and text messaging before the auto dialer even completes the first call. Since Obi2Yac is already monitoring Syslog messages, I figured why not also monitor for DTMF.  The challenge is that I don't want to set the thing off every time my cell number is dialed.  So the solution was to set speed dials as the trigger with the added advantage that the auto dialer completes a call quicker.

I set Obi2Yac to look for one of these three triggers: 69#, 70# or 71#.  Each one can have a unique message sent.  I used the basic SMTP function built into Autoit and as a consequence, it isn't all that robust, but I didn't want to over-complicate the app.  To compensate I used the built in SMTP server which you can install with Windows XP Pro.  It does the job.  :)  The SMTP server then forwards to my ISPs smart host. Currently I have the app only send to one email address, but the code can be updated to handle as many as you need.  I choose to use Gmail to auto forward these Emails to SMS gateways to text folks.  Just easier to manage there.  The result is of course that folks get the text message & email, before the call even completes.

This of course should tell you that hardware hackers out there that want to use the Obi as a cheap DTMF decoder in order to trigger an event, this is great stuff. :-)

Take care...

Smee
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: Smee on June 05, 2013, 11:23:56 PM
I have posted a new version online.  It has the DTMF trigger code as well as an update on how it handles 11 and 10 digit CIDs.

Take care..

Smee
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: Veronica on June 06, 2013, 08:09:06 AM
Hello i was wondering if you could help me with this request:

http://www.obitalk.com/forum/index.php?topic=6076.0

also interested on getting notification with that info so the client can see the minutes talked with detail, the number dialed and if is possible to add other usefull info then is welcomed.

I know that your software is for incoming calls, this request is only for outcoming calls.

Let me know if its possible or if its too much to ask lol as i said im willing to negotiate for this, it opens another small business posiblity.

Regards,
~ V
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: Veronica on June 06, 2013, 08:11:27 AM
btw there should be a section in this forum for 3rth party software so for the user is easier to find this kind of stuff. everything is mixed up.
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: QBZappy on June 06, 2013, 08:45:17 AM
Veronica ,

There actually is a thread for this. Unfortunately it is hard to find. It seems that the person who owns the thread inherits the responsibility to maintain it. Perhaps it should be made a sticky. If others find it useful enough to become a sticky show your interest here.

3rd party apps development for the OBi 110/100
http://www.obitalk.com/forum/index.php?topic=1648.msg10563#msg10563

Perhaps Smee can add himself to the above mentioned thread.

It is also a good community thread. Any one is free to add their favorites or special finds in that thread. I have seen other 3rd party apps which can be used with the Obi. Some specific to using the OBi:

RonR Obi configurator, Obi provisioning apps

Others of a more general nature:
Which could be used to trouble shoot, auto recording calls, home alarm systems, etc...
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: Rgrocery on August 01, 2013, 08:19:21 PM
Hey could anyone show me how to setup this obi2yac I seem to be doing something wrong since it just crashes when I pick up the phone. Do I have to change the code? or changes in the obi itself?

thanks and sorry to be a noob.

- josh
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: Smee on August 03, 2013, 10:14:14 AM
Quote from: Rgrocery on August 01, 2013, 08:19:21 PM
Hey could anyone show me how to setup this obi2yac I seem to be doing something wrong since it just crashes when I pick up the phone. Do I have to change the code? or changes in the obi itself?

thanks and sorry to be a noob.

- josh

Sent you a PM.  Going to need a little more info to understand the problem.  I.E., What OS, 32Bit or 64Bit, Is your firewall blocking YAC or Obi2YAC? Etc....

Smee
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: akel on October 19, 2013, 08:27:46 AM
Need some help here.

I looked in the forums and this seems to be the thread that explains how to use ob2yac.

My first problem is setting up YAC server with Obi. when I am installing YAC on my computer, it asks which modem should it use. I don't know what I should pick for Obi.
Also from some other discussions it seemed to me that Obi needs to be writing something to my computer for these programs to read from, is that correct?

Thanks for the help.

(I tried growlerId and that didnt work for me. I found this while looking for how to fix growler id and this seems to be more useful, so want to set this up)
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: Smee on October 19, 2013, 11:06:45 AM
Akel,

    Obi2Yac is the server.  When using YAC, you will no longer use that as the server.  You will only be using it as a listener or client by launching it with this command:  yac.exe listen

If you  look in your START menu you should see a shortcut for the YAC listener.  If you are using linux or running the listener on a hacked TiVo it's pretty much the same.  The Windows machine that is running Obi2Yac has an access database in which you will plug in the IPs you want it to contact with the notifications.  It will also log all calls there.  Look inside the file: Obi2Yac.au3 which has some info on what the database tables are for.  If you run Growl on the same PC as Obi2Yac, you can have Obi2Yac send notifications to it for broadcast to other machines running growl instead of using the Yac listener.

Take care..

Smee
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: akel on October 20, 2013, 03:31:54 PM
Thanks Smee. I am still not 100% clear on what I need to do, so I will try to write it up. It will hopefully help some noob later. (Figured out and now the system is working as advertized :) )

1. Set up Obi to send logging to your computer where obi2yac is going to be running. -> How do I set-up and collect a syslog from an OBi device? (http://www.obihai.com/faq/Troubleshooting-sec/collect-syslog-from-OBi) (I did not do step 3 from here and it still works)
2. I think I will need to set up port forwarding on my router to allow this communication to come to my computer. (I have done that assuming I will need it)
3. Run Obi2yac as admin when the machine starts. It is a syslog manager, so the it will capture (listen?) when obi writes to the syslog and notify my growl or yac listeners.

Good so far?

The problem I have right now is how to set up Obi2yac.
I have downloaded Obi2Yac_v1.0.0.44.exe from the linked page. Which is just an executable that runs directly and does not do any installs. (no au3 file accompanying it) Same situation for the other download available there, obi2yac.exe. so where is the access database where those tables exist? Do I need to use subversion to get the code (http://code.google.com/p/obi2yac/source/checkout)?

Thanks for helping out here.

ETA: I can browse and download the code from here (http://code.google.com/p/obi2yac/source/browse/). So gonna do that and try to play with those files

ETA2: Got all the files. It seems that I am supposed to update the ini file and the access database and then build my own exe file using aut2exe. (I have never used autoIt, so not sure if I can use the provided exe file with my own ini file and mdb. Don't know how that exe would know where my ini file and mdb are though. So I assume I have to build my own exe

ETA3: The exe file provided reads the ini file from the same directory. (Tested by changing NoBreak parameter) I imagine it will also read mdb file from the same directory. So I won't need to actually make my own exe file. Right now I have enabled growler in the ini file, not touched the mdb file and will test if growler can get the phone call

ETA4: Success! My test call showed up on growl. (after 2nd ring) Now I need to move my google contacts to the mdb file. I need to find if I can schedule a sync between those two. Smee, are you using any other personal contacts in addition to cnam/whitepages? How are you keeping it synced?
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: Smee on October 20, 2013, 09:42:45 PM
Quote from: akel on October 20, 2013, 03:31:54 PM
Thanks Smee. I am still not 100% clear on what I need to do, so I will try to write it up. It will hopefully help some noob later. (Figured out and now the system is working as advertized :) )


Glad to hear and sorry for that.  It seems that I must have deleted the zip file and only left the executable.  I have uploaded version v1.0.0.45 which will copy any missing files into the working folder on first run including a readme.  It should help others out in the future.  I also uploaded the sources in an archive so you don't have to go through source control.

In so far as using Google Contacts, no I never did that.  As of version 3 of Google Contact API, they have become a little more strict on who and how those contacts are accessed.  I would have to register the application, etc... and I didn't feel it was worth the time.  I just use the substitutions, OpenCNAM as well as the Whitepages for lookups and it works for me that way.  I did a one time dump of my contacts and placed them in the substitution table.

Take care..

Smee



Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: akel on October 22, 2013, 05:10:08 PM
Thanks Smee. v1.0.0.45 is working great. It creates all those files on first run.

Also, if one doesn't have access (I don't have it on my server). mdb viewer plus is a free tool that allows editing the mdb file.

At some point, I am going to try and write a tool that will read from google contacts and write into this mdb file. When I put that tool in a scheduler, I will have a sync.
(If anyone knows similar existing tool with source code availability .. do point me to it)

Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: Smee on October 22, 2013, 08:56:04 PM
Quote from: akel on October 22, 2013, 05:10:08 PM
Thanks Smee. v1.0.0.45 is working great. It creates all those files on first run.

Also, if one doesn't have access (I don't have it on my server). mdb viewer plus is a free tool that allows editing the mdb file.

At some point, I am going to try and write a tool that will read from google contacts and write into this mdb file. When I put that tool in a scheduler, I will have a sync.
(If anyone knows similar existing tool with source code availability .. do point me to it)



Thanks for the tip with MDB Viewer Plus.  Although I have MS Access, it will certainly come in handy on a USB stick for other projects.  In case others need it, you can find it here: http://www.portablefreeware.com/?id=727 (http://www.portablefreeware.com/?id=727)

As for source, you can try this: http://code.google.com/p/gcontacts-backup/ (http://code.google.com/p/gcontacts-backup/) but it is in Java.  If you go to Google and search for: Google contacts site:code.google.com you will find a lot of stuff, but a lot of it is most likely abandoned.

Take care..

Smee
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: amallah on December 14, 2013, 07:22:54 PM
Thank you so much for this! With Obi2Yac running on a Windows machine, I now see my Obi202 notifications appear on my OpenElec box (XBMC) via the Call Notifications XBMC add-on. The hardest part was figuring out I had to edit the Listeners manually in the MDB.

Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: Mattchewey on January 05, 2014, 11:26:19 AM
Thank you! Thank you! Thank you!  I have got  this set up and working with XBMC and also my laptop. I am awaiting my API key from whitepages.com now to complete my setup.   ;D ;D ;D
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: corporate_gadfly on July 08, 2014, 06:39:19 PM
 :) Another happy user. I am using this to show alerts on my HTPC (which runs mediaportal). The hardest part was finding software to edit Microsoft Access .mdb file. Ended up using MDB View Plus (http://www.alexnolan.net/software/mdb_viewer_plus.htm).

The plugin that I used for mediaportal also has thumbnail capability, as it can match incoming names with thumbnails named exactly the same.

Super!!
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: Zogg on May 15, 2015, 07:54:27 AM
Thanks for this app. I was using similar functionality with my previous VOIP provider so was very happy to find this utility already done.

Question, is it possible to filter out the "null, null" messages so they don't show up on the Listeners?
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: Smee on May 16, 2015, 11:47:11 AM
Quote from: Zogg on May 15, 2015, 07:54:27 AM
Thanks for this app. I was using similar functionality with my previous VOIP provider so was very happy to find this utility already done.

Question, is it possible to filter out the "null, null" messages so they don't show up on the Listeners?

Funny you bring that up.  I just bought an Obi200 a few weeks ago, gave the Obi100 to my parents, and noticed that same behavior on that unit, which wasn't a problem on the Obi100.  I added a line to filter that out.  I had to migrate the project to GitHub because Google Code Project is shutting down.  I have updated the main thread with new links to the project.  New version is 1.0.0.51.

Take care...

Smee
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: coop4 on September 24, 2015, 10:02:06 AM

Thanks for this, it is working very well.

How hard would it be for obi2yac to interface to Windows Media Center?

The problem is, when WMC is in full screen mode, it does not receive any growl notifications.

I noticed this other app by rioutus labs.. but it seems to be no longer supported since the installer is expired.

However, their MCE Integrator component can still be installed.

How hard might it be for obi2yac to send messages to this MCE Integrator component?  The author said they were willing to put the source up, but the thread is long dead.

http://riotouslabs.com/Support/topic6-growlerid-beta-stopped-working.aspx
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: coop4 on September 30, 2015, 09:07:28 AM
since obi2yac talks to growl so well, really all that is needed for caller id display inside Windows Media Center is a working Growl to WMC add on.

i found this one, but it appears to be abandoned for 64bit windows, can anyone recompile this?
http://treas0n.blogspot.com/2010/01/grip-growl-notifications-in-media.html

more sample code
http://www.codeproject.com/KB/dotnet/mceexternaldialog.aspx?msg=1672504
Title: Re: Obi2Yac: Yac & Growl Notification Daemon
Post by: Smee on September 12, 2020, 08:18:05 PM
In case anyone is still using this application, it has been updated to version v1.0.0.58 which added PushBullet support. The code base was moved to Github.  The release can be found here:

https://github.com/thesmee/obi2yac (https://github.com/thesmee/obi2yac)

Smee