How-To Guide for Google Voice with Freepbx 14 & asterisk gvsip, Ubuntu 18.04

nothing in there… i have started ta new thread…

side note Xekon… why are you installing asterisk with just sudo ./configure… as this is 13.21.1 it really needs --with-pjproject-bundled unless i am missing somthing.

1 Like

Actually the 13.21.1 is an artificial artifact to play happy with FreePBX, the branch is Master and if you cared to

./configure --help

you would maybe notice your “missing” thing

  --with-pjproject-bundled
                          Use bundled pjproject libraries (default)

but there is no harm adding that switch if you want

When you “make menuselect” check that all the res_pj* are checked in “Resource Modules” and pjsip in the “channel drivers”.

Even if the modules are built they wont be loaded if there is an unfulfilled precondition, from asterisk

module load chan_pjsip

and take it from there (Personally I tripped up on aggressively using statsd (stasis) )

1 Like

Which is why I keep trying to find different ways of removing make samples.

That behavior is, as ever, all defined in “Makefile” and conveniently in the “samples” section :wink: , no guessing or thinking needed, just reading and understanding :smile:

1 Like

Is there a ticket on the issue tracker we can follow?

No there is not.

@tm1000 I was wondering if you could answer a couple things for me

asterisks included contrib/scripts/install_prereq install
takes care of a LOT of the dependencies.

I compared the dependencies it installs, with the ones listed on the wiki: https://wiki.freepbx.org/display/FOP/Installing+FreePBX+14+on+Debian+8.8

libsqlite3-dev and uuid-dev get installed by contrib/scripts/install_prereq install
So I am wondering if sqlite3 or uuid are really needed or if they can be omitted, I have installed without them and everything seems to works, but I figure I better ask since they are listed on the wiki

mongodb is also listed on the wiki, I was thinking maybe a feature or addon I am not using makes use of it, so I included it as well, but I would really like to know what it is used for. (searching online I have gleened from another post that it is used for xmpp chat, but now that google does not use xmpp, does it serve a purpose to have mongodb?)

I figured out nodejs is used for the UCP module.

pear install Console_Getopt, was already installed, without that line assuming thanks to contrib/scripts/install_prereq

I skipped iksemel and dahdi, pretty sure I do not need either of those.

Jansson was already installed by install_prereq as well.

Also I noticed in the wiki:

chown asterisk. /var/run/asterisk
chown -R asterisk. /var/{lib,log,spool}/asterisk

couldn’t that be changed into one line?

chown -R asterisk. /var/{lib,log,spool,run}/asterisk

or is there a reason to not do it that way? (The only difference is the -R recursive option, the only reason I can think of for not running it recursively on the run folder is there being something you would not want to affect?)

I noticed the Configure ODBC section of the wiki as well…
What happens if that section is skipped?

I did not have to do that section at all, and everything seems to be working (with the exception of having to run make samples)

1 Like

Both the prereq script and the FreePBX list are equally useful, consider them mutually additive, neither will upset the other and no packages would ever be uninstalled, so “it really doesn’t matter” . the asterisk script to ensure asterisk has all its pieces, the FreePBX list to ensure FPX has all its pieces. They are “mutually inclusive”

If you really want to be anal, you will spend quite a few hours and possibly save a few seconds off an install that you should only ever run once.

If I was you I would investigate why you are needlessly running ‘make samples’ . . . seriously . . . :slight_smile:

to quote innumerable devs from any named discipline, “Use the Source, Luke”

1 Like

I got some free time to do this now. The section is actually quite small. Going to try playing process of elimination with that section. I will just disable bit by bit of what it does, until I have it narrowed down.

will partition the drive and create a backup, so I can quickly restore, instead of having to start each install from square one.

xekon… i am seeing that for both asterisk 14 and 15 my /etc/asterisk/ is empty as well, and i am getting odd errors starting asterisk as well since it cant find asterisk.conf run… funny this also fixed my pjsip issue…

It doesn’t make a difference. If they are already installed from install_prereq then installing them again would just make the package manager not install them. Hence it doesn’t make a difference and doesn’t slow anything down

XMPP in FreePBX is not Google Voice. It has nothing to do with Google at all.

And PM2 and a couple of others

No. It’s not in install_prereq. It’s a PHP script. Asterisk doesn’t use PHP

iksemel is an xml parser so if you aren’t doing google voice over xmpp no and dahdi is for tdm hardware so again no

Yes

You won’t have CDRs or CELs

1 Like

I was able to modify the samples section of the Makefile

from:

samples: adsi
        @echo Installing other config files...
        $(call INSTALL_CONFIGS,samples,.sample)
        $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/voicemail/default/1234/INBOX"
        build_tools/make_sample_voicemail "$(DESTDIR)/$(ASTDATADIR)" "$(DESTDIR)/$(ASTSPOOLDIR)"
        @for x in phoneprov/*; do \
                dst="$(DESTDIR)$(ASTDATADIR)/$$x" ;     \
                if [ -f "$${dst}" ]; then \
                        if [ "$(OVERWRITE)" = "y" ]; then \
                                if cmp -s "$${dst}" "$$x" ; then \
                                        echo "Config file $$x is unchanged"; \
                                        continue; \
                                fi ; \
                                mv -f "$${dst}" "$${dst}.old" ; \
                        else \
                                echo "Skipping config file $$x"; \
                                continue; \
                        fi ;\
                fi ; \
                echo "Installing file $$x"; \
                $(INSTALL) -m 644 "$$x" "$${dst}" ;\
        done

to:

samples:
        $(call INSTALL_CONFIGS,samples,.sample)

That was the only important line, and it is the one that is keeping me from having errors. I am going to see if I can investigate it farther, and hopefully figure out the exact reason.

You perhaps better look into the installation of freepbx, as fixing it in ‘make samples’ is all a bit “bass ackward”

./install --help

and any references in the freepbx install directory code to ASTETCDIR coupled with mkdir.

1 Like

I will, but understanding “the reason” that make samples prevents the error, will let me know where to look.

I am still testing things at the moment.

EDIT: so just now I changed make samples in the Makefile again:

samples:
        $(call INSTALL_CONFIGS,samples,.sample)

and then I also deleted all files in the configs/samples directory except ‘asterisk.conf.sample’

So that it would be the only file installed, however the error still happened, so it seems maybe there is some other config file that was preventing my errors.

I am going to eliminate only a few files at a time until I figure out which ones.

Edit: had to put this on pause, some stuff came up, might be tomorrow before I get to this.

With respect, just get off the ‘make samples’ thing, it’s a red herring that has taken you down a (mixed metaphor to follow) ‘rabbit hole’ for way too long.

The FreePBX install script should create ASTETCDIR as necessary and populate it with all the necessary files. just find out which bit you are missing in that section of “the code”

1 Like

@xekon

‘make samples’ is definitely not needed (or desirable).

Try creating an empty /etc/asterisk/statsd.conf file instead.

2 Likes

For the latest version of naf’s gvsip, you need add the following lines to [gvsip] type=registration section in pjsip_custom_post.conf

transport=0.0.0.0-tls
transport_reuse=no

for multiple trunks, you can copy the settings here:

1 Like

No, you don’t. You can reference the TLS transport that FreePBX creates.

2 Likes

@billsimon what would this line from pjsip_custom_post.conf look like if referencing the TLS transport Freepbx makes:

transport=transport_tls

transport=0.0.0.0-tls would be the default.

Look in /etc/asterisk/pjsip.transports.conf to see what FreePBX has created.

1 Like