Link to forum thread: Obihai sucks – buyers paid for Google Voice, now they want more!

obihaisucks
Obihai now wants more money to give you the functionality you originally purchased!

This was kind of buried in a previous thread but I thought it deserved its own thread. I have been a supporter of Obihai devices in the past, but no longer! I have an Obihai OBi100 and when I first got it they were selling it with the idea of free connections to Google Voice, with no mention whatsoever of there being any possible future subscription fees. Anyway, today I went to see if I could add a Google Voice account to SP2 on my OBi100 and was greeted with the above screen.

At the time of purchase there was NO mention of needing to purchase technical support in order to keep using Google Voice, which after all was one of the advertised features and probably the primary reason anyone ever purchased an Obihai device. I have no issue with them charging extra to extend the warranty, but there’s nothing wrong with my device, other than that THEY require you to get new firmware before you can add a new Google Voice account or modify an existing one. In my book, this is extremely sleazy and is enough of a slap in the face that I would never consider purchasing another Obihai device.

If you read further down in the thread, you will see that technically-proficient users can still download the required firmware and install it manually (at your own risk) without paying the $10, but I don’t know how long that will last. The full thread is here:
Obihai sucks – buyers paid for Google Voice, now they want more! (DSLReports.com)

EDIT: Also see the post, Read this before you pay $10 to Obihai for support, which tells how to possibly upgrade your Obihai without paying the extortion support fee.

EDIT 2: If you have an OBi100 or OBi110 device that is now considered “obsolete” by Obihai, and has stopped working with Google Voice, you MAY be interested in Crowdsourced updates for Obihai OBi100 and OBi110 ATAs. Unfortunately, they no longer have the ability to make those older units work with Google Voice, and I have NOT tested them personally, so have no idea how well they work, and I take no responsibility if they don’t work as intended). See the thread Obihai OBi200/202/302 + OBi1022/1032/1062 firmware mods for additional information on available third-party firmware for newer Obihai devices. Obihai apparently does NOT want people to know that this alternative firmware exists, and has allegedly banned users that so much as mention the existence of this firmware in their forums.

EDIT 3: Google Voice ended the use of XMPP protocol in mid-2018. FreePBX and Asterisk users that wish to continue using Google Voice now that Google has dropped XMPP support should go here: How to use Google Voice with FreePBX and Asterisk without using XMPP or buying new hardware.

I had formerly hosted several how-to articles about the Obihai devices on this forum, that I had obtained permission from the author to repost when the old Michigan Telephone blog went defunct, but because of this action by Obihai I have taken those articles offline because I don’t want to appear to be encouraging anyone to purchase an Obihai device, or to be providing any kind of support for them. Many of those articles were rather dated anyway, but if anyone really misses them I could possibly put one or more of them back up, but with a suitable disclaimer, or if you have a URL for one of those old articles you could try accessing it via the Wayback Machine. However, at this point I emphatically DO NOT RECOMMEND the purchase of an Obihai device by anyone.

EDIT 4: Obihai was purchased by Polycom, and now at the end of 2021 they have announced that they are discontinuing the newer 200-series devices.

Link: How to Create Own Online Shopping Store Using “OpenCart” in Linux

In the Internet world we are doing everything using a computer. Electronic Commerce aka e-commerce is one one of them. E-Commerce is nothing new and it started in the early days of ARPANET, where ARPANET used to arrange sale between students of Massachusetts Institute of Technology and Stanford Artificial Intelligence Laboratory.

These days there are some 100’s of E-Commerce site viz., Flipcart, eBay, Alibaba, Zappos, IndiaMART, Amazon, etc. Have you thought of making your own Amazon and Flipcart like web-based Application Server? If yes! This article is for you.

Opencart is a free and open source E-Commerce Application written in PHP, which can be used to develop a shopping cart system similar to Amazon and Flipcart. If you want to sell your products online or want to serve your customers even when you are closed Opencart is for you. You can build a successful online store (for online merchants) using reliable and professional Opencart Application.

Full article here:
How to Create Own Online Shopping Store Using “OpenCart” in Linux (Tecmint)

Link: How to Watch Netflix On Linux

Ever wondered how superb it would be watching Netflix on Linux? Well then, here is the great news: Yes you can watch Netflix on Linux! Amazingly, all you will need is Chrome and Ubuntu 12.04 LTS or 14.04 LTS (the new versions of Network Security Services), then you would be on your way to watching your streaming movies via Netflix. Now before I get into the details on how to watch Netflix on Linux, I think it would be really cool that you know why you need what you need.

Full article here:
How to Watch Netflix On Linux (SecureKnow)

Link: How to Adjust Volume Settings for Individual Audio Devices and Sound Effects in OS X

If you’ve ever been showing a presentation or a video, you know how embarrassing it can be when system sounds such as alerts, errors, and notifications interrupt your audio, especially when you’re projecting to a PA system or loudspeakers.

In OS X, there’s a couple of cool little options that you can apply to your audio settings so that, if you are say, listening to your music while you clean, or showing a movie on your big TV, then you won’t be interrupted by Frog, Funk, Bottle, or any of the other system alerts.

Full article here:
How to Adjust Volume Settings for Individual Audio Devices and Sound Effects in OS X (How-To Geek)

Link: Hola VPN Sells Users’ Bandwidth, Founder Confirms

The operator of 8chan says the bandwidth of millions of Hola users is being sold for reuse, with some of it even being used to attack his site. Speaking with TorrentFreak, Hola founder Ofer Vilenski says that users’ idle resources are indeed utilized for commercial sale, but that has been the agreement all along.

I don’t endorse the use of this type of service in the first place, but since I know that many people use services such as this to bypass geographic restrictions on content, I think that you should know what you are getting into if you use this particular service.

Full article here:
Hola VPN Sells Users’ Bandwidth, Founder Confirms

Link: How to Kill Linux Processes/Unresponsive Applications Using ‘xkill’ Command

We have already covered a detailed guide on kill, pkill and killall commands.

For those who are running X server there is another tool called xkill which can kill a process from its X window without passing process name or its PID.

xkill utility forces X server to close communications to its client which results into killing of client by its X resource. xkill which is a part of X11 utilities is very handy in killing unnecessary windows.

Full article here:
How to Kill Linux Processes/Unresponsive Applications Using ‘xkill’ Command (Tecmint)

Link: Get started with Midnight Commander, a Linux file manager

In my previous article, 8 Linux file managers to try, I compared a number of file managers, but there was not enough space to go into detail about any of the several file managers that I mentioned briefly. This article will delve a bit further into Midnight Commander, and I plan to write more to cover some of the other file managers in more detail.

Midnight Commander (MC) is a text-based Command Line Interface (CLI) program. It is particularly useful when a GUI is not available but can also be used as a primary file manager in a terminal session even when you are using a GUI. I use Midnight Commander frequently because I often have need to interact with local and remote Linux computers using the CLI. It can be used with almost any of the common shells and remote terminals through SSH.

Full article here:
Get started with Midnight Commander, a Linux file manager (Opensource.com)

How to use a custom SIP header to pass the DID (or other data) between two Asterisk servers that jointly handle extensions

NOTE: This post has been edited to show a newer method that should work with both PJSIP and Chan_SIP trunks.

If you have multiple Asterisk or FreePBX servers at different locations that pass Intra-Company traffic between each other using SIP trunks, you may have wished for a way to pass the Calling DID number (or some other bit of data stored in an Asterisk variable) from one server to another. For example, let’s suppose that all extensions in your company are four digits in length, and that the extensions on server A are numbered 1000-1099, and on server B they are numbered 1100-1199, and when a call comes in on system A that goes to an extension on system B, you want to pass the original DID that the call arrived on to system B so that it will be included in the call detail for that call.  It’s easy to do this; I’ll first show what you’d need to do on a server A that is running FreePBX.

In /etc/asterisk/extensions_custom.conf, you should find a context named [macro-dialout-trunk-predial-hook], and if you’ve not previously modified it then you should only need to add these four lines to that context (the last two of which may already be present):

exten => s,1,Set(regx=^11[0-9]{2}$)
exten => s,n,ExecIf($[${REGEX("${regx}" ${OUTNUM})} = 1]?Set(HASH(__SIPHEADERS,X-DID)=${CDR(did)}))
exten => s,n,MacroExit()
exten => h,1,Macro(hangupcall,)

The above has been modified to show the new way to do this in more recent versions of FreePBX. It is the only way that will work (without adding a lot more dialplan) if you are using a PJSIP trunk. If you are curious as to why this works, it turns out that in recent FreePBX versions, at the time the Asterisk Dial statement is executed a context named func-apply-sipheaders is executed, and the purpose of the context is to create additional SIP headers that have been set using a statement similar to the one we have used here. So, that works out rather well for our intended usage.

The previous method was to use this line as the second line of the context, which may still work for Chan SIP trunks:

exten => s,n,ExecIf($[${REGEX("${regx}" ${OUTNUM})} = 1]?SIPAddHeader(X-DID: ${CDR(did)}))

Anyway, to explain the context above, the first line sets a regular expression to match the digits 11XX – if you also do this on server B you would of course change the 11 to 10. There is probably a way to do this without using a regular expression but I just wanted to show this method because if offers the most flexibility in matching numbers (although Asterisk has a somewhat unique way of implementing regular expressions; that’s why I have to use [0-9] rather than d to indicate “any digit” in the expression). In the second line, if the regular expression matches the called number (the destination extension), the statement Set(HASH(__SIPHEADERS,X-DID)=${CDR(did)}) (formerly SIPAddHeader(X-DID: ${CDR(did)}) ) is executed, which takes the contents of the CDR(did) variable and puts it into a custom SIP header named X-DID, which follows the standard convention of adding X- to the start of a user-created SIP header. This is then transmitted to server B as part of the first INVITE message in the channel. In raw Asterisk (no FreePBX), you just need to make sure that something similar to the statements in the first two lines come before whatever statement sends the call to the other system (usually a Dial statement of some kind).

Now when the call comes into server B, we need a way to do the opposite, which is to get the content of the X-DID SIP header and place it into the CDR(did) variable.  So in the trunk, instead of making the context=from-internal, we can make it something like context=custom-from-server-A, and then in /etc/asterisk/extensions_custom.conf we add that context, which simply contains this:

[custom-from-server-A]
exten => _X!,1,Set(CDR(did)=${SIP_HEADER(X-DID)})
exten => _X!,n,Goto(from-internal,${EXTEN},1)

On Server A, you’d use custom-from-server-B in place of custom-from-server-A.

You can transmit the contents of any Asterisk variable in this manner, but of course you’d probably want to change the custom SIP header name to something that more closely matches the original variable name.  I wouldn’t recommend going hog wild with adding custom SIP headers, but they are a valid technique for passing a few variables or other bits of data between your servers.

Link: Creating SD Card Images For Raspberry Pi in Mac

The Raspberry Pi is a new breed of cheap, single use computers that were just made for making projects. People routinely build them into standalone devices or use them to control other devices. They are almost like a disposable computer.

In fact, Pi is a small but capable Linux computer, making it an easy transition from the Mac’s UNIX from a programming and command line stance. Running software is mostly a simple matter of obtaining SD card images from around the web and burning them to SD cards.

The biggest problem you face is that the SD cards need to be in a specific format, a boot sector that is visible in FAT32 and the body of the disk which is in the Linux format. This is not something which is easy to do on the Mac without specific knowledge software to do the low level image burn that we need.

In this article, we show you what software to use for this job on the Mac and how to burn SD card images.

Full article here:
Creating SD Card Images For Raspberry Pi in Mac (Make Tech Easier)