Completely delete a module & it's settings

Today I installed superfecta. And I admit I changed the file: /var/www/html/admin/modules/superfecta/sources/source-Send_to_PushBullet.module

Since the module send call info without date. So I added the date/time of the call to pushbullet.

Worked for a few hours. Now when I went back into the superfecta module, and select the scheme. It gives me the following error:

Whoops\Exception\ErrorException
/­var/­www/­html/­admin/­modules/­superfecta/­sources/­source-Send_to_PushBullet.module:78

Line 78 in the file is: foreach ($devices->devices as $foo) {

I also found the following errors:
Send_to_PushBullet __construct
/­var/­www/­html/­admin/­modules/­superfecta/­page.superfecta.php104

include
/­var/­www/­html/­admin/­config.php561

uninstalling and re-installing superfecta replaces the file I modified. However, the error remains.
if i delete the /source-Send_to_PushBullet.module file then I can edit the schedule, however, I can’t use the PushBullet module (which is what I need).

So my question is can i somehow completely delete the module? I tried deleting the directory /var/www/html/admin/modules/superfecta/ and didn’t help.

A coding error or possible change with the Pushbullet API. I have committed a fix that works for me, you can see is here:
http://git.freepbx.org/projects/FREEPBX/repos/superfecta/browse/sources/source-Send_to_PushBullet.module?at=93dabbe90a1f75efa55cd631e64fbbefeab9ddf6

Hi Lorne, and thanks for the quick response…Unfortunately the link gives me a 500 error.

Lets try attaching to forum post.
source-Send_to_PushBullet.module.tgz (1.8 KB)

1 Like

Hi Lorne,

Thanks for the module! Since I was having some many problems, I did a restore of a week old backup.

Installed Superfecta (now fresh superfecta install). Put in your updated pushbullet module. Set up api key etc.

If I run the debug/test run scheme, then it send info to PB.
If an incoming call comes in, then it checks cnam and shows on phone, however nothing is sent to PB.

Just for reference, created a VM with Freepbx. Setup 1 trunk, 1 Extension and Superfecta.

Running the test scheme checks entered number, then send to PushBullet.

Incoming call, checks number, displays on phone, nothing sent to PushBullet.

I managed to log the following: (to me it appears that after finding the name it doesn’t bother running PushBullet module)

Connected to Asterisk 13.11.2 currently running on localhost (pid = 1633)

== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Executing [1234567890@from-sip-external:1] NoOp(“SIP/66.193.176.35-00000007”, “Received incoming SIP connection from unknown peer to 1234567890”) in new stack
– Executing [1234567890@from-sip-external:2] Set(“SIP/66.193.176.35-00000007”, “DID=1234567890”) in new stack
– Executing [1234567890@from-sip-external:3] Goto(“SIP/66.193.176.35-00000007”, “s,1”) in new stack
– Goto (from-sip-external,s,1)
– Executing [s@from-sip-external:1] GotoIf(“SIP/66.193.176.35-00000007”, “1?checklang:noanonymous”) in new stack
– Goto (from-sip-external,s,2)
– Executing [s@from-sip-external:2] GotoIf(“SIP/66.193.176.35-00000007”, “1?setlanguage:from-trunk,1234567890,1”) in new stack
– Goto (from-sip-external,s,3)
– Executing [s@from-sip-external:3] Set(“SIP/66.193.176.35-00000007”, “CHANNEL(language)=en”) in new stack
– Executing [s@from-sip-external:4] Goto(“SIP/66.193.176.35-00000007”, “from-trunk,1234567890,1”) in new stack
– Goto (from-trunk,1234567890,1)
– Executing [1234567890@from-trunk:1] Set(“SIP/66.193.176.35-00000007”, “__DIRECTION=INBOUND”) in new stack
– Executing [1234567890@from-trunk:2] Set(“SIP/66.193.176.35-00000007”, “CHANNEL(language)=en”) in new stack
– Executing [1234567890@from-trunk:3] Gosub(“SIP/66.193.176.35-00000007”, “sub-record-check,s,1(in,1234567890,no)”) in new stack
– Executing [s@sub-record-check:1] GotoIf(“SIP/66.193.176.35-00000007”, “0?initialized”) in new stack
– Executing [s@sub-record-check:2] Set(“SIP/66.193.176.35-00000007”, “__REC_STATUS=INITIALIZED”) in new stack
– Executing [s@sub-record-check:3] Set(“SIP/66.193.176.35-00000007”, “NOW=1475594003”) in new stack
– Executing [s@sub-record-check:4] Set(“SIP/66.193.176.35-00000007”, “__DAY=04”) in new stack
– Executing [s@sub-record-check:5] Set(“SIP/66.193.176.35-00000007”, “__MONTH=10”) in new stack
– Executing [s@sub-record-check:6] Set(“SIP/66.193.176.35-00000007”, “__YEAR=2016”) in new stack
– Executing [s@sub-record-check:7] Set(“SIP/66.193.176.35-00000007”, “__TIMESTR=20161004-111323”) in new stack
– Executing [s@sub-record-check:8] Set(“SIP/66.193.176.35-00000007”, “__FROMEXTEN=unknown”) in new stack
– Executing [s@sub-record-check:9] Set(“SIP/66.193.176.35-00000007”, “__MON_FMT=wav”) in new stack
– Executing [s@sub-record-check:10] NoOp(“SIP/66.193.176.35-00000007”, “Recordings initialized”) in new stack
– Executing [s@sub-record-check:11] ExecIf(“SIP/66.193.176.35-00000007”, “0?Set(ARG3=dontcare)”) in new stack
– Executing [s@sub-record-check:12] Set(“SIP/66.193.176.35-00000007”, “REC_POLICY_MODE_SAVE=”) in new stack
– Executing [s@sub-record-check:13] ExecIf(“SIP/66.193.176.35-00000007”, “0?Set(REC_STATUS=NO)”) in new stack
– Executing [s@sub-record-check:14] GotoIf(“SIP/66.193.176.35-00000007”, “2?checkaction”) in new stack
– Goto (sub-record-check,s,17)
– Executing [s@sub-record-check:17] GotoIf(“SIP/66.193.176.35-00000007”, “1?sub-record-check,in,1”) in new stack
– Goto (sub-record-check,in,1)
– Executing [in@sub-record-check:1] NoOp(“SIP/66.193.176.35-00000007”, “Inbound Recording Check to 1234567890”) in new stack
– Executing [in@sub-record-check:2] Set(“SIP/66.193.176.35-00000007”, “FROMEXTEN=unknown”) in new stack
– Executing [in@sub-record-check:3] ExecIf(“SIP/66.193.176.35-00000007”, “11?Set(FROMEXTEN=13057212323)”) in new stack
– Executing [in@sub-record-check:4] Gosub(“SIP/66.193.176.35-00000007”, “recordcheck,1(no,in,1234567890)”) in new stack
– Executing [recordcheck@sub-record-check:1] NoOp(“SIP/66.193.176.35-00000007”, “Starting recording check against no”) in new stack
– Executing [recordcheck@sub-record-check:2] Goto(“SIP/66.193.176.35-00000007”, “no”) in new stack
– Goto (sub-record-check,recordcheck,12)
– Executing [recordcheck@sub-record-check:12] Set(“SIP/66.193.176.35-00000007”, “__REC_POLICY_MODE=NO”) in new stack
– Executing [recordcheck@sub-record-check:13] Return(“SIP/66.193.176.35-00000007”, “”) in new stack
– Executing [in@sub-record-check:5] Return(“SIP/66.193.176.35-00000007”, “”) in new stack
– Executing [1234567890@from-trunk:4] Gosub(“SIP/66.193.176.35-00000007”, “app-blacklist-check,s,1()”) in new stack
– Executing [s@app-blacklist-check:1] GotoIf(“SIP/66.193.176.35-00000007”, “0?blacklisted”) in new stack
– Executing [s@app-blacklist-check:2] Set(“SIP/66.193.176.35-00000007”, “CALLED_BLACKLIST=1”) in new stack
– Executing [s@app-blacklist-check:3] Return(“SIP/66.193.176.35-00000007”, “”) in new stack
– Executing [1234567890@from-trunk:5] Set(“SIP/66.193.176.35-00000007”, “__FROM_DID=1234567890”) in new stack
– Executing [1234567890@from-trunk:6] Set(“SIP/66.193.176.35-00000007”, “CDR(did)=1234567890”) in new stack
– Executing [1234567890@from-trunk:7] ExecIf(“SIP/66.193.176.35-00000007”, “0 ?Set(CALLERID(name)=13057212323)”) in new stack
– Executing [1234567890@from-trunk:8] Set(“SIP/66.193.176.35-00000007”, “__MOHCLASS=”) in new stack
– Executing [1234567890@from-trunk:9] Set(“SIP/66.193.176.35-00000007”, “__REVERSAL_REJECT=FALSE”) in new stack
– Executing [1234567890@from-trunk:10] GotoIf(“SIP/66.193.176.35-00000007”, “1?post-reverse-charge”) in new stack
– Goto (from-trunk,1234567890,12)
– Executing [1234567890@from-trunk:12] NoOp(“SIP/66.193.176.35-00000007”, “”) in new stack
– Executing [1234567890@from-trunk:13] Set(“SIP/66.193.176.35-00000007”, “__CALLINGNAMEPRES_SV=allowed_not_screened”) in new stack
– Executing [1234567890@from-trunk:14] Set(“SIP/66.193.176.35-00000007”, “__CALLINGNUMPRES_SV=allowed_not_screened”) in new stack
– Executing [1234567890@from-trunk:15] Set(“SIP/66.193.176.35-00000007”, “CALLERID(name-pres)=allowed_not_screened”) in new stack
– Executing [1234567890@from-trunk:16] Set(“SIP/66.193.176.35-00000007”, “CALLERID(num-pres)=allowed_not_screened”) in new stack
– Executing [1234567890@from-trunk:17] Gosub(“SIP/66.193.176.35-00000007”, “cidlookup,cidlookup_2,1()”) in new stack
– Executing [cidlookup_2@cidlookup:1] ExecIf(“SIP/66.193.176.35-00000007”, “1?Set(CALLERID(name)=Les Test 3)”) in new stack
– Executing [cidlookup_2@cidlookup:2] Return(“SIP/66.193.176.35-00000007”, “”) in new stack
– Executing [1234567890@from-trunk:18] Set(“SIP/66.193.176.35-00000007”, “CIDSFSCHEME=YmFzZV9TdXBlckZlY3RhVGVzdA==”) in new stack
– Executing [1234567890@from-trunk:19] AGI(“SIP/66.193.176.35-00000007”, “/var/www/html/admin/modules/superfecta/agi/superfecta.agi”) in new stack
– Launched AGI Script /var/www/html/admin/modules/superfecta/agi/superfecta.agi
/var/www/html/admin/modules/superfecta/agi/superfecta.agi: Executing Scheme…
/var/www/html/admin/modules/superfecta/agi/superfecta.agi: Scheme Asked is: SuperFectaTest
/var/www/html/admin/modules/superfecta/agi/superfecta.agi: The DID is: 1234567890
/var/www/html/admin/modules/superfecta/agi/superfecta.agi: The CNUM is: 13057212323
/var/www/html/admin/modules/superfecta/agi/superfecta.agi: The CNAME is: Les Test 3
/var/www/html/admin/modules/superfecta/agi/superfecta.agi:
/var/www/html/admin/modules/superfecta/agi/superfecta.agi: Starting scheme SuperFectaTest
/var/www/html/admin/modules/superfecta/agi/superfecta.agi: Converting result to UTF-8
/var/www/html/admin/modules/superfecta/agi/superfecta.agi: Setting caller id to: Les Test 3
/var/www/html/admin/modules/superfecta/agi/superfecta.agi: CID Determined to be: ‘Les Test 3’
/var/www/html/admin/modules/superfecta/agi/superfecta.agi: Attempting to set lookupcid
– <SIP/66.193.176.35-00000007>AGI Script /var/www/html/admin/modules/superfecta/agi/superfecta.agi completed, returning 0
– Executing [1234567890@from-trunk:20] Set(“SIP/66.193.176.35-00000007”, “CALLERID(name)=Les Test 3”) in new stack
– Executing [1234567890@from-trunk:21] NoOp(“SIP/66.193.176.35-00000007”, “CallerID Entry Point”) in new stack
– Executing [1234567890@from-trunk:22] Goto(“SIP/66.193.176.35-00000007”, “from-did-direct,2,1”) in new stack
– Goto (from-did-direct,2,1)
– Executing [2@from-did-direct:1] GotoIf(“SIP/66.193.176.35-00000007”, “1?ext-local,2,1:followme-check,2,1”) in new stack
– Goto (ext-local,2,1)
– Executing [2@ext-local:1] Set(“SIP/66.193.176.35-00000007”, “__RINGTIMER=15”) in new stack

If anyone is reading this thread, see the following thread for continuation. Add I should note Lorne’s updated PB module works well! :slight_smile: