Obi110 reuse – better alternative

Easier and better way then running your own on raspberry pi  is . With your own pbx  you can do much more. Multiple google extensions, emailing voice mails, recording etc.  Another site to investigate is forums.


Obi110 reuse using raspbx – How?


Obi110 was on end of support with no firmware upgrades.  On November 1 2017 Google Voice changed certificates and Obi110 failed with ” Backing off” Connection error.

Initially thought as DNS Server issue and tried all and when support refused any firmware updates for Obi110 to fix the certificate issue, I noticed a SIP alternative using a third party provider for incoming calls in the obhi forums. It is a  although a  puny $6 one time  charge, not sure how long this will last, I decided to find an open source solution for running own SIP Pbx. Googling resulted in Asterisk PBX solution and I had a spare raspberry pi w ( bought @Mircocenter for $5) that I could use.

Here are the steps to prepare raspberry PI:

  1. Download the raspbx  from
  2. Use a software like etcher to image it to an SD CARD( Steps:
  3. Add WIFI connection settings  configuration file wpa-supplicant file.
    1.  sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
    2. Go to the bottom of the file and add the following:
    ssid="your ssid"
    psk="wifi password"

4.Now reboot and   login using  root and raspberry as password. Change password for security and then run raspbx-upgrade.

5.Added a static route in the router to use a fixed local ip.

6. connect to the system using ” ssh root@IPAddress” , where IPAddress is the static IP of the raspbx box.

7.Change timezone ( configure-timezone command ) and also keyboard and localization settings using raspi-config command)

Here are the steps to configuration of the raspbx pbx.

( more info here

  1. go to http://ipaddress  to config the asterisk using FreePBX Gui.
  2. First  it will ask you to enter password for admin and an admin user will be created.
  3. Using Menu -> Applications–> Extensions  create a new PJSIP Extension. (  Dont forget to Submit and Apply config  to save )Screen Shot 2017-11-07 at 11.32.11 AM
  4. Using Connectivity-> Google Voice (Motif)  configure Gmail Voice. In Gmail security , you can create a new app password and then use this app password here. Also make sure Add Trunk checkbox and add outbound routes is enabled.Screen Shot 2017-11-07 at 11.41.18 AM
  5. Once you submit and apply. you should see a connected status as below.Screen Shot 2017-11-07 at 11.38.54 AM
  6. Open the outbound route  created  and remove the  defaulted route password. Also move this over the default Star Communication outbound route.
  7. Add a new Inbound route using Connectivity–>Inbound routes ( in the DID Number add the GOOGLE Voice number without any formatting like 2222332323. Also add  set destination by selecting an extension that we created before.)Screen Shot 2017-11-07 at 11.49.25 AM

Test using Iphone or Android phone( Optional)

Download Zoiper SIP Softphone and add the extension  and call any phone to see if the PBX is using the google voice account.

Here are the steps to configure Obi110 

  1. use instructions from Shot 2017-11-07 at 12.06.53 PM.pngScreen Shot 2017-11-07 at 12.07.41 PM
  2. in the obi config ip, change the Phone port  Primary Line in the physical interfaces to use SP1 Service.Screen Shot 2017-11-07 at 12.01.41 PM
  3. Reboot the Obi110 and check SP1 Status. It should showScreen Shot 2017-11-07 at 12.10.57 PM

Now you should all set to receive and place calls using your phones.


Python and Django Setup for App dev

Links: –  Mac based


  1. sublime Text
  2. Python3,
  3. Virtualenv
  4. Virtualenv Wrapper ?
  5. Django 1.81
  6. selenium  for  Functional tests ( testing Goat )
  7. Django-debug
  8. Bootstrap files
  9. Firefox developer edition

a) Get  Python3 ,Virtualenv and PIP

b) create  a new folder  C:/DEV/LWC

c) virtualenv lwc    to start a new vitualenv , that creates a new folder under LWC.

d) .\lwc\Scripts\activate   to activate virtual env

e) pip3 install django    or   easy_install django

f) django-admin startproject new1

g) cd new1

h) use sublime menu option project save as to new1. to start editior

Groovy script to clean up your maven’s ~/.m2/ local repo without deleting everything

m2 repo clean up

Developer Incantations

When I want to clear out some space, I end up doing ‘rm -rf ~/.m2/repository/` or ‘del -Recurse -Force ~/.m2/repository’ but that tends to remove EVERYTHING and makes your builds longer in the future. I thought this little script was pretty useful for dev work as it only clears out old SNAPSHOT versions from your repo, as well as older versions of dependencies (such as outdated JUnit deps or whatnot).

The gist of it is that this is a Groovy script to delete out–per your configuration of the script–X number of days back of SNAPSHOT releases and older versions of libraries where a newer one has existed for Y days.

It’s probably best to just read the post above, but if you aren’t one of those types to spend time doing that, you can skip the rigmarole and just download the script:

Mind you, you still need…

View original post 303 more words

Why Protocol Buffers are important for development compared to XML.

Defined as  ” flexible, efficient, automated mechanism for serializing structured data”  like XML but much smaller and so much faster and also simpler

You will need to define the data to be structured once (in .proto files) and then  use  generated coded to easily read and write the  structured data  to and from the  data streams. The data structure can be updated without actually breaking the existing code.

The way it works is that the structure of the message is a series of name-value pairs and with one or more uniquely numbered fields. The value types can be numbers, strings.

CRM Tcodes

qRFC Outbound Queue Monitor: SMQ1

qRFC Inbound Queue Monitor: SMQ2
Monitors data transfer between the ERP

System Application log SLG1

Integration Engine – Monitoring SXMB_MONI

BDoc Messages/Summary
Monitors the status of the BDoc messages and detects the application or customizing errors during data exchange.

SMW01: Displays BDoc message content and possible validation or receiver errors.

SMW02: Displays BDoc message summary in dependency on the sender site ID.

SMW02a: Groups BDoc messages according to validation or receiver errors.

SMW03: Displays client-independent BDoc message summary