Monday, December 7, 2020

GoogleVoice through Obi200 to IncrediblePBX (FreePBX) on a Pi4 (part1)

 Long time no post.   Been doing stuff...but nothing completed, or worth documenting.


However this battle took days and the docs and instructions I found assumed you knew something.  (they were wrong).

BTW...some good links...

Documentation on all the settings for FreePBX (Incredible PBX)

Obihai support page

Obihai support video on how to set up Google Voice on Obi200

Nerdvittles article on setting up Incredible PBX on your Pi

How to set up your system so email works 

 

In summary, I installed the Incredible PBX (using an image) to the Pi4.   (I won't get into what a PBX or Asterisk or anything else is...this is simply my settings.)

 

Right now the only way to use a GoogleVoice phone number is through an Obi device (Polycon?)

I have an Obi200 that gives me a regular POTS phone line to plug into, but used a VOIP service on the other end...for example Google Voice.

 

I recently learned how to make an entry to the Obi that would allow a SIP phone (like a Cisco SPA504g) to call and answer on that Google Voice number.  (this won't explain that...I will link it)

 

A few months later I learned that I could take a PBX software, and have it call and answer through the Obi to Google Voice...AND then can have any number of SIP phones attached to it.  So instead of one SIP phone...a whole house full of them (if I so desire).  

 

Why would I care? I am already using a SIP phone for things other than my Obi telephone service.

 

So this string of posts will only involve taking your existing GoogleVoice setup on your Obi200 and pushing it out to IncrediblePBX and from there to SIP phones.

 

Part 1: I will start with the OBI settings in this post .   I don't know exactly why these are the settings...it just works (and some are different than all the tutorials I found) 

Part 2 will cover the phones and part 3 the Incredible PBX settings.

--------------------------------Danger Ahead-----------------------------


If you mess up your existing working Obi...not my fault...but I recommend that before you do this, you make a backup (or like I did, actually take screenshots) so you can put it back.

Good news is this does not involve editing the Service Provider settings of your existing GoogleVoice install...it does add one thing to the SP service associated with your GoogleVoice install.

To start, you have to enter the Obi Expert Configuration Menu on the Obi Dashboard (not your local device dashboard)

We will be working with the following that show on the left menu after you enter expert mode on the Obi

Service Providers: listed as A-D

Voice Services: listed as SP1-SP4 and some other stuff

I will try to list my setup, so you can modify to fit your setup.

 Service Providers:

ITSP Profile B is my Google Voice  main inbound service - we will not edit this.

ITSP Profile C is unused, I will connect my PBX to this profile

Voice Services:

SP2 Service is for Google Voice main inbound service - tiny edit here

SP3 Service is unused, I will my PBX will use this service


Obi is at 192.168.11.32

PBX is at 192.168.11.45

One cisco phone is at .33 and one is at .35 


To edit the Obi Expert Menu, you have to uncheck OBiTALK Settings, and then uncheck Device Default...sometimes you have to 'submit' there to go further...IDK.

Edits---

Service Providers > 

ITSP Profile C General

-General

Name = {whatever you want}

-Service Provider Info

Name ={same as above}

URL = {PBX ip address}

 

ITSP Profile C SIP

ProxyServer = {PBX ip address}

RegistrarServer = {PBX ip address}

OutboundProxy = {PBX ip address}

 ...

X_SpoofCallerID {uncheck Obitalk settings and Device default, check Value)

X_DiscoverPublicAddress {uncheck all}


Voice Services > 

SP2 Service

-Enable

X_InboundCallRoute = ph,SP3           (in my setup, the POTS phone is still connected and still rings)

                                                               (SP3 is for the PBX)

SP3 Service

-Enable

X_ServProvProfile = C    (because I created ITSP Profile C they go together)

X_InboundCallRoute = >(MSP2):SP2    (don't ask me what this does...but SP2 is where GV is)

X_AcceptSIPFromRegistrarOnly {check Value, uncheck the others}

X_KeepAliveEnable = {check Value, uncheck the others}

-SIP Credentials

 AuthUserName = {pick something, but you will use it on your PBX, I used obi200}

AuthPassword = {I put one in, but the check mark keeps going to Device Default...yet it works...}

                             (you will use the password on your PBX)

-Calling Features

MaxSessions = {something larger than 1...I used 6}

 

 

Some of those settings might be wrong, there may be better ways...but it works.  At the end I will attach the screen shots so you can compare notes.

 

On to Part 2 the phones.

 





 

 

 





Monday, April 27, 2020

Supplemental files... DG-10 to DG-20 MIDI conversion

Ok...this is simply going to be all the files...I will try to organize them by section...starting out with the MIDI conversion.

This is what I used to do my mod.

First it is very handy downloading the DG-10/20  Service Manual available many places... 

On all the documents I annotated the original wiring in red (so I could follow the circuit) and my changes in pink (basically as an assembly manual).

The most time consuming part was the re-engineering...but soon I realized that the schematics almost exactly matched the circuit board...so you could almost lay the schematics over the board to identify parts.

In my reverse engineering I reversed the pictures of the bottom of the circuit board so it would directly match the top of the board...and the schematic...it makes sense once you try it.  As a result some of my notes are in backward writing, but it is easy enough to figure out.

Lets start with the schematic.  

First starting with the MIDI port on the DG-20.  There is a switch to either have 6 channels out...or just all 6 strings to one channel.   Second is the port itself.   Note the identifiers JG-1 through JG-6  This is on a daughter board at the IO jacks...I had to just wire it up direct.  (BTW the item marked FB...those are ferrite beads) (I used DigiKey part number 240-2513-1-ND Ferrite Bead 86 Ohm Axial)  Also on the circuit below, there are two things that look like black circles spit in half...they probably match something on the circuit board that would have been mounted on the DG-20...I couldn't even see a photo of that board...the fully split in half one means not connected...the one with a small line in the middle is connected...


 Now on this schematic on the upper left side you again see JG-1 through JG-6 , these are the drilled holes in the DG-10  circuit board...they aren't marked...and I did have to modify them a bit...but it is almost 100% there.  So I ran wire from those drilled holes to my MIDI connector and switch.



Now you will note on the DG-10 schematic the obvious missing JG connection.  You can see in pink the required mods...one specific one tells the CPU that it is a DG-20 not DG-10



So here is what it looks like on the DG-10 circuit board.







 Inverted backside with mods  You will note I marked the connection 1-6 on the upper right side.

BTW all the jumpers and components go on the top...but it was easier to follow the circuit by drawing it out on the bottom of the board.




Actual view backside with mods, again red is existing wiring, pink is my mods.





These photos have ALL the mods in view, not just the MIDI...so just using the schematic, knowing where i marked pin 1 and 6, just follow the lines... There is one wire to remove, a resistor to add, a diode to add. and a handful of jumper wires to install...almost everything goes into existing drilled but not marked holes.  Now for the pic below, note the wires at the lower left of the above pic.



 Here is the only circuit trace you have to cut...right there in the center of the pic above next to "JD" you see I have a pink line and 3 white lines...that area is one big circuit trace, so I had to cut it where those lines are to separate the area into separate traces...the white is where I dug through the copper trace to bare circuit board below.


Finally I needed to know what pin is what for the MIDI connector.

Going slow and using a voltmeter in 'resistance...beep' mode I went through it line by line, making sure I had a match from the schematic to my DG-10 wiring.


Friday, January 10, 2020

Casio DG-10 modified into a DG-20



So if you were a rich kid in the 80's you might have had a DG-10 or DG-20 a digital guitar made by Casio.  ($350 for the DG-10...I am guessing the DG-20 was $50 to $100 more)





I was not a rich kid in the 80's and I hadn't even heard of this until I saw one on the remake of the Take On Me video by Weezer.



So I did so looking around, figured out what the device was, then tried to by one.



I lucked out and picked up a DG-10 (like in the video)  that needed a bit of work but operated just fine...for dirt cheap...

So I got it running and played with it a bit, as I dug through the documents available I learned that I had the stripped down version, but there was also a DG-20 that had line out and MIDI out. (as well as some other sound and manual percussion switches).

Well I was jealous of the MIDI output...so I popped mine open to see how hard it would be to modify mine to add MIDI support.

I noticed that in the Service manual that the main parts seemed to be identical and even the circuits were almost identical except for some minor differences and some passive components.

I took pictures of the circuit boards top and bottom and happened to find a few pictures of a DG-20's guts.

I realized that those geniuses at Casio had built both keyboards with the same chips and almost identical circuit boards except for about 3 modified traces...depending on which version you got, some traces were whole and some were cut.

The circuit boards even had the drill holes...the only thing missing was labeling and some of the pads were coated and had to be cleaned.

So based on the schematic (they did not have board photos unlike most electronics service manuals) I basically reverse engineered the circuit boards and figured out where to add passives and jumpers, and where to remove them to convert the DG-10 into the DG-20.

(luckily mine is a DG-10 so no worries)


I can say that it was actually an easy mod...time consuming for the planning and reverse engineering, but the actual mod went pretty quickly with no problems, except for missing a jumper, and 4 passives for the line out circuit.

So the total number of parts required for the mod were:

1 slide switch
1 midi port
1  1/4" mono port
8 momentary pushbutton switches 
4 ferrite bead filters
9 diodes
3 ceramic capacitors
3 electrolytic capacitors
6 resistors

So depending on what you have on hand...$10 to $20 worth of parts...you know the Casio factory got them at bulk...so I am guessing the DG-20 cost at most $5 to $10 more to build...total cost. (some more rubber switches, two more circuit boards, and a completely different sound selector in the actual DG-10)

The result is other than how the switches and outputs look, my DG-10 is a DG-20.





I am sure nobody else is dumb enough to do this mod, but I include the photos I used and modified to show the original circuit and components and the ones requited to modify the DG-10.

I will say you don't really need the line out, but I thought bypassing the amp circuits might sound better?

Anywho the following are my modifications to the board photos I did.


 Lineout mod to schematics (not complete...just showing what I missed...

In all cases the pink (salmon?) colored lines are what needs to be added or modified, the red is the existing circuit topside components (to help me trace the circuits)









Amp circuit mods to get line out


Tone control and rhythm select panel...needed to be modified to add 4 tone switches.



If someone really gets a desire to do this mod, drop me a line and I will send all my photos and documents...