Wednesday, February 22, 2023

Icom IC-7300 with SDRplay RSPduo as panadapter - digital mode settings


 There is already a ton of information on the PTRX-7300 panadapter I got for the IC-7300 from RadioAnalog.   I have a RSPduo attached to it. (in the screenshots I had hooked up a RSP2Pro for testing)  Also there is lots of info on using the USB port on the 7300 for CAT.

I am just going to list my settings...because it was a ton of pain to figure it out from conflicting info.

SDR software - SDRuno (works with the RSPduo and their other products)

Digital applications in use - Winlink Express, Vara HFFLdigi, WSJT-X, JS8Call

System:  IC-7300, panadapter, RSPduo, Win10.

Basics:

Omni-Rig and com0com software for the various apps to connect to the other software/hardware.  Some programs need com0com, some need Omni-Rig.  Apparently the 7300 does not support RTS/DTR.

SDRuno to interface with the RSPduo and control everything.

In all cases, once you correctly point to Omni-Rig or com0com/SDRuno your app should immediately start showing the radio frequency and the 7300 as well as SDRuno should match...if not, then go back to the basics.  Do the Test Cat/ Test PTT if possible...or just try to send a message.

AUDIO:  Luckily this is the same for all apps...the Icom creates two "USB Audio CODEC" devices...one is a Microphone, and one is Speakers.  The preceding number may be different than my screen shots, but they will say (USB Audio CODEC) in the name.  Mine say (3- USB Audio CODEC)

BTW, Winlink Express was the hardest, followed closetly by FLdigi...WSJT-X was the easiest.

If you are using different SDR software...as long as it sees Omni-Rig and can create a virtual CAT port...these instructions should work for you.


Omni-Rig:  Software to interface many apps to your radio.

Install normally and point to the Com Port the Icom is using.

-NOTE: the radio has two baud rates in the Set > Connectors > CI-V section.

--1: CI-V Baud Rate = 19200

--2: CI-V USB Baud Rate = 115200

In Omni-Rig use the CI-V USB Baud Rate...in my example 115200.  Screenshot below is from my working system.


com0com: creates virtual com port pairs...allowing devices to interface with each other, if they can't use Omni-Rig.

I only needed the one default port pair.  In my case COM3 and COM11


SDRuno: Can use Omni-Rig AND create a virtual radio com port for other apps to attach to.

--1: enable RSYN1 which lets SDRuno attach to Rig1 on Omni-Rig.  Once you click that this software and the radio should match frequency.

--2: Enable &Connect the CAT (in the RX Control Settings)

-This is how my software looks.


--NOTE: In my example SDRuno creates COM11...so all the appropriate apps need to connect to COM3 (created by com0com)

-- Also it simulates a Kenwood...normally a TS-2000...but you will see it is pretty generic.


Winlink Express with VARA HF

--1: set up correct SoundCard on the main Vara HF window.

--2: In Vara HF Winlink Settings there is no TS-2000...so I chose the TS-890S and seems to work fine.  Note Com port matches com0com and the baud matches SDRuno, and I put the TS-890S in the PTT Port also.



FLdigi:

--1: Need to use FLrig. TS-2000 for the radio, Com from com0com, baud from SDRuno.  The rest of the FLrig settings don't seem to matter...but this was my best guess.

--2: In FLdigi chose flrig for rig control (checkmark box in the flrig setting)  and set up the audio.



WSJT-X:

-1: of course this is the easiest one...just choose OmniRig Rig 1 (if using RIG1 for your radio) as the radio. (the screen shot below shows far too many uses of the word Rig...)

-2: same sound card settings as all the rest.  



JS8Call:

'should' be just as easy as WSJT-X.


NOTE: In this screen shot I hadn't yet clicked "Test CAT"  So the Freq hasn't matched yet.


If I add more...they will be tacked on here.






Wednesday, December 9, 2020

Link SIP phone throuhgh PBX to Allstar Node.

 I honestly have no idea why someone would want to do this...but I done it anyway... making a PBX so I could  do all the things made some sense...linking the PBX (asterisk) to the Allstar node (asterisk) seems ridiculous.


So here is how to do it.  (this is more of a quick and dirty reference rather than a walk through explaining everything)


Background...in 2018 I built an Allstar Node using a cheap radio and a Raspberry Pi.  My access to control it was either DTMF on the radio, or logging in using the built in web page.


Also a couple of years ago I got a Hamshack Hotline number and had that on my SIP phone.


(some other things were done...time passed) 


And just now I built a PBX using Incredible PBX on a Raspberry Pi.


So obviously I would link the Allstar node to the PBX.   Trust me, there are much more advanced set ups that folks have done with Asterisk and radios...Such as K8JTK's multimode hub.


Anywho it took a day of pain and watching error screens before I got the solution...and the first verified solution did not work at all...maybe I typo'd something, but it was wrong.


This won't be full of info, because it is pretty simple...it is just the terminology that is difficult.


If  you built a PBX then you know some of these terms already.


Big picture is Allstar uses Asterisk to do all the heavy work, the DTMF controls the hub linking etc.

Incredible PBX (FreePBX) ALSO uses Allstar for all the heavy lifting...it just has a pretty GUI to make admin easier.


What we will do is connect two peer Asterisk servers.   Allstar <-> Incredible PBX


To do that we will Trunk them together using the IAX protocols.

That means, on Incredible PBX we will ADD a IAX Trunk.


If you already have the Allstar node, then you are already used to editing the various .conf files.


We will edit two of them.  iax.conf and extensions.conf     (if you were to connect a SIP phone to the Allstar node directly you would edit sip.conf and externsions.conf. SIP for phone, IAX for server)


IAX.conf is basically the 'add IAX Trunk' for the folks that like using the linux terminal.

[pbx2_to_pbx1}
host=(IP address of PBX2 goes here)
username=pbx1_to_pbx2
secret=UseALongPasswordNumbersLike1234AreOk
type=friend
disallow=all
allow=ulaw

[pbx1_to_pbx2]
host=  (IP address of PBX1 goes here)
username=pbx2_to_pbx1
secret=UseALongPasswordNumbersLike1234AreOk
type=friend
context=radio-control
disallow=all
allow=ulaw

So those two matching entries are the Trunk entries or IAX.conf entries, depending on which device you are working on.   The HUGE hint is to look at the name in [brackets] that is the TRUNK name.   Note also that the OPPOSITE machine uses that TRUNK name as USERNAME and vice versa.   That lets the two Trunks to talk to each other.

Not understanding that, and following the wrong instructions took a day to figure out.


You will note in my screenshots that I didn't put all that stuff in it...but the important takeaway is the relation of the "Trunk Name" in the OUTGOING section of the Trunk entry to the username of the Trunk in the machine you want to link to.


The other edit required is in the  extensions.conf   again note the name in [brackets] it has to match the "context=" value in the Allstar node IAX.conf.


So how does it work?  I select the same extension I am using for GV,  punch in my Allstar node number, the PBX connects my phone to the Allstar node.  From there I punch in the codes to connect to outside nodes...or just listen to what is coming over my node.   I haven't done any speed dials etc yet...


Some links.

I used this to make the extensions.conf

Here is where I learned the correct format for the iax.conf/Trunk entries

Some screenshots.






Monday, December 7, 2020

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

Parts one and two had to do with setting up the Obi and Phones.

It doesn't matter in what order, I think it makes  more sense to me in this order.


The PORTS used depend on what SP you use etc...the screen shots are of mine...if you use a different config, then doublecheck the ports...mine are consistent, so you can start with your Obi and convert from mine to yours.

Also btw...I removed my GV number from the caller ID spots in the pictures...but it was only in a few places that I should have mentioned...if I didn't mention caller ID, then you probably don't need to put the GV number in...in other words there are blank caller ID spots and filled caller ID spots...I think CID is only need in two spots.

I will not get into installing Incredible PBX.  BTW, if you are googling for help you can use FreePBX also in your search...the menus are the same.


This last part is the settings I used to get the PBX to talk to the Obi,  For the Phones to talk to the PBX, and for the phones to make calls and ring, and even intercom.


First...PBX talks to Obi.

Log into your Incredible PBX as Admin  (when you installed you should have created a new password?)

We are starting from zero...nothing other than default entries on the PBX.

After each step, hit submit...when done with a section click the Red button in the upper right that says Apply Config

 ---------------------------------

You need a Trunk.


Click on Connectivity > Trunks


There are a ton of Trunks there for using all sorts of VOIP phone services...I am not using those, so I deleted all the trunks.


+Add Trunk > +Add SIP (chan_sip) Trunk     (I could not get anything to work using the pjsip anywhere                                                                             in my install...just plane old legacy SIP)

General Tab

Trunk Name = {something useful to you  - I used obi200 to match the Obi settings}

Outbound CallerID = {your Google Voice number}

sip Settings Tab

 type=friend
defaultuser=obi200
secret={password you put into the obi}
qualify=yes
port=5062
nat=yes
host=dynamic
dtmfmode=rfc2833
disallow=all
context=from-trunk
canreinvite=no
allow=ulaw
insecure=port,invite

 Thats it for Trunks.

 ---------------------

 You now need an Outbound Route

 

Delete any existing Outbound Routes, or you will have a bad time.


Route Settings Tab

Route Name = {something useful to you - I chose OBiOut}

Route CID =  {same Google Voice phone number}

Trunk Sequence for Matched Routes = {you just built it... obi200 for me}

Dial Patterns Tab

You can try to learn them...or just click the 'Dial patterns wizards' and select all the appropriate ones

 

Thats it for Outbound Route

 -------------------------------

We will have to do the Extensions before we do anything else...these are the different physical phones (in my case) you want to access the PBX.

 

Applications > Extensions

There will already be a bunch there and you can use them...or roll your own...I rolled my own and did some experiments, so there are some extras there...don't worry about them.

They are pretty simple.

+Add Extension > +Add New SIP (Legacy)[chan_sip] Extension


again, I could not make the pjsip extensions work...my phone wouldn't log in, and it wasn't worth it to fight it.

If you edited your phones and gave them numbers like 201, 202 whatever. you make an Extension for each one.

In my case I have two, 200 and 201.  (ignore the others in the pictures)

So 

General Tab

Extension = 200 {whatever you put in that particular phone}

Display name = 200 {or whatever you want}

Secret = {same password as you put in your phone}

That is all you NEED to do...you can add voicemail etc...that is beyond the scope of this article.


Once you have made an Extension for each phone...you are done.  (BTW the user manager settings are to allow logging into a user dashboard)

Now I have two Extensions...and probably my phones are showing online...but we aren't done yet.

------------------

We want to be able to answer the phone.   If you wanted only one phone to ring you would set it up a bit differently from here...


...but I want all phones to ring, so I can pick up whatever extension I am near.

 

So I need a Ring Group

 

Applications > Ring Groups

+ Add Ring Group

 Name= {some number, this is considered an extension, I made it 222}

Group Description = {anything you want, sales, admin, or in my case bothphones}

Extension List = {all the extensions that are in this particular ring group...in my case both phones, yo

u                                 can use the User Quick Select. In my case 200 and 201}

Ring Strategy = {this is awesome...so many choices...but I simply want all the phones to ring                                            simultaneously so... ringall}

Destination if no answer = {for now I have an extension chosen...but voicemail is probably a good choice...outside the scope of this discussion}

You are done with ring groups...

-----------------------------

NOW time to do the Inbound Routes

 

Connectivity > Inbound Routes

(there should not be any old routes here...if there are, delete them)

+Add Inbound Route

Set Destination = Ring Groups   {and select the Ring Group extension you created - in my case 222}


That is it for Inbound Routes.

--------------------------------

Bonus section

 

Put all the phones on intercom...

Applications > Paging and Intercom

+Add Page Group

Paging Extension = {this is the phone dialpad sequence you type to start the intercom -  in my case 22}

Group Description = {whatever you want}

Device list = {pulldown - which extensions do you want involved in the paging - for me all of them}

 

Done with paging.   When I select the PBX line (EXT3 on my SPA504) and type 22 on the dialpad, all the phones (both) go on speakerphone and connect to each other.

----------------------------

That is everything I modified...and attached are my screen shots in case something doesn't make sense.   If it doesn't work, break down WHICH part doesn't work.


Some examples...I could phone in and one phone would ring, but I couldn't call out.  I had to delete the default (extra) outbound route to get the phone to dial out.

Only one phone rang during ringall...because one of my phones was not set up to Register on the PBX.

lines wouldn't connect to the pbx at all...because phones wouldn't use pjsip extensions

Latest example...one phone could dial voicemail and the other couldn't...the one that couldn't had just XX in the dial plan...it needed to be (*xx|[3469]11|0|00|[2-9]xxxxxx|1xxx[2-9]xxxxxxS0|xxxxxxxxxxxx.)

 

Pics...lots... hope it helps someone ... Of course there is much more to set up...but this gets your phones working.