News:

On Tuesday September 6th the forum will be down for maintenance from 9:30 PM to 11:59 PM PDT

Main Menu

3rd party apps development for the OBi 110/100

Started by QBZappy, October 03, 2011, 03:40:36 PM

Previous topic - Next topic

QBZappy

I think it would be a good idea to have a thread for anyone interested in offering OBi related apps/scripts, etc... If you have the skills this could be the place to offer and discuss. There would be people on this board who would like the idea of super charging their OBi's. If the OBihai people would offer the ability of the syslog to provide more useful information, much of it could be done just by parsing the syslog records. Imagine all the call states with other relevant call info such as incoming/outing numbers, call duration, dates times, available for apps developers. At the moment a few have tried scrapping the OBi web pages for info.

Some ideas which may have already been requested on the board and other useful ideas:
CID lookup (GV contacts/and other callers)
Reverse number lookups
Outlook integration
Growl/YAK/NCID CID delivery systems
Click2dial to sip phone or to attached OBi phone
Asterisk Click2dial
Dial plan configurator utility/wizard (my favorite). Some of these basic dial plans could easily be setup programmatically with a little input from the user. I only wish I had these skills. (This could possibly relieve RonR from repeating similar dial plan setups  ;D )

Have I missed anything?
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

QBZappy

Hardware VoIP Monitor: desktop VoIP and PBX monitoring

http://www.reincubate.com/labs/hardware-voip-monitor-desktop-voip-and-pbx-monitoring/#extension

HVoIPM is a small desktop application that can be used to monitor one or more heterogenous VoIP or PBX systems. Users can choose from a range of device monitors (or build their own) to provide telephony data to be logged or displayed on screen. For instance, the software could be used to log all calls made by a certain device, or to flash up a warning or launch a process when a VoIP device's registration state goes offline.

Software is a bit dated, however this free (for non-commercial use) 3rd party app, needs dot net v2, which can read many types of ATA info gives a lot of interesting ideas on how it can be done. Software can be extented to include the OBi.
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

Everton

The CNAM lookup from GV Contacts is the single most desirable feature for me.  90-95 % of the calls we receive are from individuals/companies that are in my Contact list.  Any new Number/Name is quickly added to this list and calls from Telemarketers or other undesirable sources are Blocked using Google Voice blocking mechanism.

I would want the information pass to the phone, as oppose to a PC running on the LAN.  I wonder if there are any technical hurdles that would prevent OBi from implementing a CNAM pass-thru from GV Contacts.  There is also the possibility that OBi could utilize their OBiTALK Networking capabilities to do reverse lookups for a minimal annual fee of say $10.00 or where the each user can upload their contact data to the cloud as a lookup source.  Finally, a DDWRT/Tomato "OPT" integration could be possible, if the data could be quickly pass to the OBi1xx and then to the phone between the first and second ring!

QBZappy

Everton,

You should offer to test this app that forum member bhasden generously offered to build. It seems to be exactly what you want.

Quote from: bhasden on October 03, 2011, 03:42:56 PM
Right now it only supports looking up contacts using your Google contacts. If the number is in Google, it will retrieve the name and display it using Growl. I'm in the middle of message around with adding modem support for anyone who has a machine with a modem to retrieve the caller id information from there along with adding support to pull caller information from another source like the WhitePages API. The software is in early beta stages right now which is why I need the help testing it.
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

psichel

QuoteI wonder if there are any technical hurdles that would prevent OBi from implementing a CNAM pass-thru from GV Contacts.

Getting GV Contacts is fairly easy, they are listed on your GV inbox page. The technical hurdle is that there is no published API for Google Voice, so there's a risk of Google changing the service and breaking devices in the field.

FYI: I'm the developer of Phone Amego which provides on-screen Caller ID, click-to-dial, and Macintosh integration for Bluetooth cell phones, landlines, and VoIP (including OBi ATAs). Phone Amego does reverse lookups using many sources: Apple's Address Book (which synchs automatically with Google Contacts), local lookup file or contact card, Daylite CRM from Marketcircle, and online reverse lookup websites. From what I can tell, web reverse lookup services have Terms of Service (TOS) that limit their commercial application or require a subscription.

http://www.sustworks.com/pa_guide/index.html

Enjoy!

- Peter

bhasden

Quote from: Everton on October 04, 2011, 09:42:05 AM
The CNAM lookup from GV Contacts is the single most desirable feature for me.  90-95 % of the calls we receive are from individuals/companies that are in my Contact list.  Any new Number/Name is quickly added to this list and calls from Telemarketers or other undesirable sources are Blocked using Google Voice blocking mechanism.

I would want the information pass to the phone, as oppose to a PC running on the LAN.  I wonder if there are any technical hurdles that would prevent OBi from implementing a CNAM pass-thru from GV Contacts.  There is also the possibility that OBi could utilize their OBiTALK Networking capabilities to do reverse lookups for a minimal annual fee of say $10.00 or where the each user can upload their contact data to the cloud as a lookup source.  Finally, a DDWRT/Tomato "OPT" integration could be possible, if the data could be quickly pass to the OBi1xx and then to the phone between the first and second ring!


Please visit http://riotouslabs.com to download a copy of GrowlerID. GrowlerID supports notifications through the Growl interface, detecting incoming calls to the Obihai device, retrieving caller id information and photos (photos only work with Growl for now) from Google contacts, retrieving caller id information from FreeCNAM.

The website is absolutely barebones right now. Please provide feeback through the UserVoice forum (http://riotouslabs.uservoice.com).

The version available through the website right now will only run until November 1st. It's currently in beta and as a result, may contain bugs and/or broken/partially implemented features.

Thank you to anyone who chooses to help beta test.

QBZappy

bhasden

Hi, I decided to test it by calling myself from a second GV account. I'm having a little trouble setting this up.
1) I don't see the GrowlerID in the All Programs list after installation. Is it set to automatically start with Growl every time?
2) I don't see it registered as an application in Growler and I don't see a way of registering the app.
(I take it back. It took a while, but GrowlerID registered with Growler after I maximized GorwlerID after a few times of trying)
3) In GrowlerID config, use Modem to detect incoming calls is optional? If you select to checkmark I suppose you need a voice modem. If check not selected is the CID being picked up via GV or the OBi device?
4) Clarify how the RJ11 connections are to be made between the various pieces of equipment.

I suppose we will take this to the other forum after these preliminaries. Since it is new, I don't see if there is a place for you to reply or it is only one way feedback from your beta testers.
http://riotouslabs.uservoice.com/forums/136299-general

PS: On clicking apply in the config it's neat to see a nice blue GrowlerID test notification.
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

QBZappy

Everton,

Quote from: Everton on October 04, 2011, 09:42:05 AM
Finally, a DDWRT/Tomato "OPT" integration could be possible, if the data could be quickly pass to the OBi1xx and then to the phone between the first and second ring!

Not quite sure what you mean by this. Can you explain your idea further?
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

bhasden

Quote from: QBZappy on October 04, 2011, 10:14:50 PM
bhasden

Hi, I decided to test it by calling myself from a second GV account. I'm having a little trouble setting this up.
1) I don't see the GrowlerID in the All Programs list after installation. Is it set to automatically start with Growl every time?
2) I don't see it registered as an application in Growler and I don't see a way of registering the app.
(I take it back. It took a while, but GrowlerID registered with Growler after I maximized GorwlerID after a few times of trying)
3) In GrowlerID config, use Modem to detect incoming calls is optional? If you select to checkmark I suppose you need a voice modem. If check not selected is the CID being picked up via GV or the OBi device?
4) Clarify how the RJ11 connections are to be made between the various pieces of equipment.

I suppose we will take this to the other forum after these preliminaries. Since it is new, I don't see if there is a place for you to reply or it is only one way feedback from your beta testers.
http://riotouslabs.uservoice.com/forums/136299-general

PS: On clicking apply in the config it's neat to see a nice blue GrowlerID test notification.


1) GrowlerID should be located under Programs -> Riotous Labs -> GrowlerID. It will not automatically start with Growl. For now, you can copy the shortcut into your Startup folder, although I will be adding a checkbox to the configuration dialog in the next few days.
2) In order for GrowlerID to register as an application in Growl, Growl must first be started. You can download it at http://www.growlforwindows.com. I should clarify that Growl is not required. If Growl isn't installed you'll get regular windows notifications in the task bar that notify you of an incoming call. The great thing about Growl is that it can forward the notifications to just about anything (iPhone, Android, other computers, etc.).
3) The Modem tab in the configuration is a work in progress feature. In my home setup, I've got the my landline running into the modem of my home server since they're both in the same closet. It's not a feature that would be useful for Obihai users, but for someone who has an existing home phone line and would like to use the GrowlerID software to detect incoming calls.
4) There's no need to connect anything to anything. The only setup that needs to be done for Obihai users is to  enable the Obihai device monitoring and enter your Obihai IP address and password. If you don't have Google Voice enabled, you'll get caller id information from Free CNAM. The caller id lookup order goes Google Voice then Free CNAM. If a contact is found in Google Voice, that's the contact it uses. If the contact isn't found or Google Voice integration is turned off, it will move to searching Free CNAM.


After explaining the setup, I feel like I should definitely create some sort of wizard setup for the software instead of relying on the user to figure everything out through the tabs. I thought they would be straight forward enough, but now I'm thinking they will not be. Originally I was configuring everything through Notepad, so the dialog is new.

Please let me know if you have any other questions or any suggestions.

QBZappy

Methods to reboot the OBi automatically can be found here:
http://www.obitalk.com/forum/index.php?topic=1152.0

Windows vbs script obi-reboot.vbs (offered by infin8loop)

Linux  (offered by earthtoobi)
lwp-request -C admin:<password> -e -d http://192.168.x.x/rebootgetconfig.htm


Bonus:

Common wall timer (Attach the OBi power cord to a daily/weekly timer. Offered by QBZappy  ;D)
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

QBZappy

bhasden,

No joy.

Does the firmware version of the OBi make any difference?
I am calling from an OBi100 (1.3.0 Build: 2532) to an OBi 110 (1.2.1 Build: 2384).
I am calling using 2 different GV numbers. OBi100 GV number to another OBi110 GV number.

GrowlerID config:
GVoice tab set to GV acct on the OBi110 (user name only, not using the full email address + GV PW)
Obihai tab set to IP of OBi110 + Pass Word

I compared the call history of GV and OBi device. Both show receiving call from OBi100 number. Difference is that OBi110 shows 11 digits (Peer Number with a "1" in front), GV shows 10 digits (call does not show preceeding "1")

Call goes to GV VM. What do you think?
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

bhasden

Quote from: QBZappy on October 05, 2011, 12:05:03 AM
bhasden,

No joy.

Does the firmware version of the OBi make any difference?
I am calling from an OBi100 (1.3.0 Build: 2532) to an OBi 110 (1.2.1 Build: 2384).
I am calling using 2 different GV numbers. OBi100 GV number to another OBi110 GV number.

GrowlerID config:
GVoice tab set to GV acct on the OBi110 (user name only, not using the full email address + GV PW)
Obihai tab set to IP of OBi110 + Pass Word

I compared the call history of GV and OBi device. Both show receiving call from OBi100 number. Difference is that OBi110 shows 11 digits (Peer Number with a "1" in front), GV shows 10 digits (call does not show preceeding "1")

Call goes to GV VM. What do you think?


When saving the configuration, do you get any errors? If the configuration saves, that means it was able to authenticate both the Obihai and the GV credentials.

QBZappy

I press "Apply" get test notification, then "OK". No error messages.
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

bhasden

Quote from: QBZappy on October 05, 2011, 08:03:31 AM
I press "Apply" get test notification, then "OK". No error messages.

You should be good then. If you disable Growl notifications do you get the balloon notification when an incoming call occurs?

QBZappy

#14
Yes
Sorry I meant to say No. I don't get anything on an incoming call. Without Growl running pressing "Apply" gives me a different style of notification pop up.
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

bhasden


QBZappy

I had previously mentioned a desktop application called HVoIPM (Hardware VoIP Monitor) which could be used to monitor the OBi device. The author has graciously offered the source code to the OBi community (and anyone else for that matter) who would like to continue the project. This might be of interest to any current or future 3rd party OBi app developers. You can find it here:

HVoIPM (Hardware VoIP Monitor)
https://github.com/afit/HVoIPM

Author:
Thanks for your email. I'm afraid I no longer have time to support the Hardware VoIP Monitor. I'm glad to read there's an attempt to make something similar. I took the step to publish the full source code of my application today, at https://github.com/afit/HVoIPM. It may be that the community can extend this or use it in building their application.

Best,
Aidan Fitzpatrick
http://www.reincubate.com/labs/hardware-voip-monitor-desktop-voip-and-pbx-monitoring/
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

QBZappy

#17
Here is a tool that might help OBi 3rd party apps developers integrate the OBi with GV calling.

xPLGVoice
http://www.doghouselabs.com/software/index.cgi?cat=xpl&app=xPLGVoice

Description: xPLGVoice gives you access to some features of Google Voice. It allows you to send SMS, enable and disable forwarding phones and initiate calls.

Usage: Edit the config.txt file with your gmail user name and password.

In the right hands this little utility can supplement the OBi feature set. I can see it being able to make outbound calls from Outlook doing a Google callback and then connecting you to the dialed number.
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

Stewart

Here is a simple script, written in perl, that creates a file of custom auto-attendant prompts, suitable for uploading to your OBi.  I'm running it on Windows under ActiveState's free perl.  It does nothing exotic, so I'd expect it to work ok on a Mac or Linux system as well, using the perl that comes preinstalled.  Let me know of your success or failure on other platforms.

The script looks in the current directory for files named user1.wav, user2.wav ... user10.wav and uses those found to create a combined file, useraa.dat that can be uploaded to the OBi.  Each input file must be mono, 8kHz sampling rate, G.726-32 encoded, with length between 0.25 and 60 seconds.

Various tools I tried, including Audacity, an old copy of Audition, and several converters, would not produce a G.726-32 file of good quality.  One solution is to to create the prompts in your favorite authoring tool, save as 16-bit PCM wav format, then convert with ffmpeg, which is free and readily available for Windows, Mac and Linux.  The command is e.g.

ffmpeg -i original.wav -acodec g726 -ab 32000 user1.wav

Once you have all the user<n>.wav files, run the perl script and upload the useraa.dat to your OBi.

I'd appreciate feedback on any quality issues, better ways to create G.726-32 files, etc.

Before uploading, make backups of your config and current prompts.  While developing this code, I had a bug that caused the OBi to endlessly reboot.  I believe that is now very unlikely, but if it should happen to you, don't panic and see this thread: http://www.obitalk.com/forum/index.php?topic=1726.0  Just in case you don't have a backup, a copy of an empty prompts file, courtesy of Obihai support, is also attached.

This is open source free software and I'm imposing no restrictions on its use.  However, if you fix bugs or add features, please post the improved code here.  If you incorporate it in a larger project, please provide an acknowledgement.

Enjoy.

Stewart

Quote from: user17600 on February 29, 2012, 05:07:36 PMI don't get any of the intermediate messages that seem to be built into the script.  I get a pause and them a "wrote file" message.  So something's not right...
I'm not familiar with Strawberry and was using ActiveState perl to test.

The first 'open' statement should be trying to open user1.wav in the current directory (not necessarily the directory the script is in).  At the command line, if you type "dir user1.wav" and press enter (just before or after running the script), does the file appear in the listing?  If so, can you open it by other means, e.g. does "copy user1.wav testxxx.wav" give any errors?