
05-08-08, 02:51 PM
|
|
Nerd Uno
|
|
Join Date: Oct 2007
Posts: 3,881
|
|
|
CallWho Ready for Testing
Overview: For those using AsteriDex, we have a new add-on that I think you'll really use. Here's how it works. Ideally, you assign a button on your phone to extension 412. When the button is pressed or 412 is dialed, CallWho will prompt the user to enter the first three letters of the person they wish to call. This represents the first three letters of an entry in the AsteriDex phonebook. If only one entry exists, the call will be placed. If more than one matching entry exists, a list of the matching entries will be read (up to 9) using Cepstral or Flite. The user picks the one they want, and the call is placed.
Prerequisites: You must already have AsteriDex 4 installed (install script is available here) as well as either Flite or Cepstral (install tutorial is available here). The software defaults to Cepstral. To change it, edit extensions_custom.conf dialplan for 412 and reverse the commented and uncommented lines. Edit nv-callwho.php in /var/lib/asterisk/agi-bin and change the $ttspick entry from one to zero.
Installation: Log into your server as root and issue the following commands:
cd /root
wget http://bestof.nerdvittles.com/applic...x4/callwho.pbx
chmod +x callwho.pbx
./callwho.pbx
After the install completes, use your web browser and point it to the real IP address of your server with the following:
http://192.168.0.22/asteridex4/dialcode.php
This will populate the dialcodes in your AsteriDex database with 3-digit codes for each name entry. As you add new entries, don't forget to add new dialcodes or run this app again. It will only run as an AsteriDex admin. ** IT WILL ERASE ANY DATA YOU ALREADY HAVE IN THE dialcode FIELD THROUGHOUT YOUR DATABASE! **
Now dial 412 from any phone on your system. If it doesn't work, add a Misc Destination in FreePBX for CallWho at extension 412 and try again.
Feedback appreciated!!
Last edited by wardmundy : 03-01-09 at 01:50 PM.
Reason: Adjusted web address to asteridex4
|
|

05-23-08, 02:55 AM
|
|
Junior Member
|
|
Join Date: May 2008
Posts: 1
|
|
|
This worked great after one modification:
The install puts dialcode.php into /var/www/html/asteridex while the current asteridex4 instructions install into /var/www/html/asteridex4 (by default & before hardening).
Since dialcode.php uses config.inc.php it wasn't able to run until I moved it to the asteridex4 directory and pointed my web browser to the new location.
|
|

05-23-08, 07:23 AM
|
|
Nerd Uno
|
|
Join Date: Oct 2007
Posts: 3,881
|
|
Fixed. I found it, too... and then forgot to change it.  Thanks.
|
|

05-27-08, 02:47 PM
|
|
Member
|
|
Join Date: Jan 2008
Location: Virginia, USA
Posts: 88
|
|
|
I've installed and made the change noted above for the directory. Then ran the dialcode.php and it ran fine. However, when I enter 412 and Allison asks me for the the first 3 digits of the person I want to call, the call ends abruptly after entering the 3 digits. Here's the console output:
-- Executing [412@from-internal:1] Answer("SIP/4001-09cc74b8", "") in new stack
-- Executing [412@from-internal:2] Wait("SIP/4001-09cc74b8", "1") in new stack
-- Executing [412@from-internal:3] Set("SIP/4001-09cc74b8", "TIMEOUT(digit)=7") in new stack
-- Digit timeout set to 7
-- Executing [412@from-internal:4] Set("SIP/4001-09cc74b8", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10
-- Executing [412@from-internal:5] Swift("SIP/4001-09cc74b8", ""At the beep enter the first three letters of the name of the person you wish to call."") in new stack
-- Executing [412@from-internal:6] Read("SIP/4001-09cc74b8", "DIALCODE|beep|3") in new stack
-- Accepting a maximum of 3 digits.
-- <SIP/4001-09cc74b8> Playing 'beep' (language 'en')
-- User entered '747'
-- Executing [412@from-internal:7] NoOp("SIP/4001-09cc74b8", "Name lookup: 747") in new stack
-- Executing [412@from-internal:8] AGI("SIP/4001-09cc74b8", "nv-callwho.php|747") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/nv-callwho.php
-- AGI Script nv-callwho.php completed, returning 0
-- Executing [412@from-internal:9] NoOp("SIP/4001-09cc74b8", "Number to call: ") in new stack
-- Executing [412@from-internal:10] GotoIf("SIP/4001-09cc74b8", "0?12") in new stack
-- Executing [412@from-internal:11] Goto("SIP/4001-09cc74b8", "outbound-allroutes||1") in new stack
-- Goto (outbound-allroutes,412,1)
|
|

05-27-08, 03:05 PM
|
|
Nerd Uno
|
|
Join Date: Oct 2007
Posts: 3,881
|
|
|
Sounds like there's a problem with callwho.php in /var/lib/asterisk/agi-bin. Did you use our callwho.pbx installer? You might wanna check permissions and ownership on the callwho.php file. Also look and be sure it's there and not corrupted.
|
|

05-27-08, 03:17 PM
|
|
Member
|
|
Join Date: Jan 2008
Location: Virginia, USA
Posts: 88
|
|
|
I just followed the installation steps in the first post of this thread.
|
|

06-10-08, 05:45 AM
|
|
Member
|
|
Join Date: Jan 2008
Location: Virginia, USA
Posts: 88
|
|
|
Sorry for the delay in getting back to this. Had actual work to do. ;-)
Anyway, the file nv-callwho.php is there and doing a "more" on it doesn't show any corruption. As for permissions and ownership:
-rwxrwxr-x 1 asterisk asterisk 6691 May 8 14:01 nv-callwho.php
|
|

09-22-08, 02:59 PM
|
|
Guru
|
|
Join Date: Jan 2008
Posts: 364
|
|
|
I just installed the FONmail script. I tried to use the AnyWho (412) but Asterisk hangs up on me after prompting for the three numbers. Below is my console output, any ideas????
-- Executing [412@from-internal:2] Wait("SIP/202-085370b8", "1") in new stack
-- Executing [412@from-internal:3] Set("SIP/202-085370b8", "TIMEOUT(digit)=7") in new stack
-- Digit timeout set to 7
-- Executing [412@from-internal:4] Set("SIP/202-085370b8", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10
-- Executing [412@from-internal:5] Flite("SIP/202-085370b8", ""At the beep enter the first three letters of the name of the person you wish to contact."") in new stack
== Parsing '/etc/asterisk/flite.conf': Found
-- <SIP/202-085370b8> Playing '/tmp/flite_buf_3Xni4C' (language 'en')
-- Executing [412@from-internal:6] Goto("SIP/202-085370b8", "s|11") in new stack
-- Goto (from-internal,s,11)
== Auto fallthrough, channel 'SIP/202-085370b8' status is 'UNKNOWN'
-- Executing [h@from-internal:1] Macro("SIP/202-085370b8", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] ResetCDR("SIP/202-085370b8", "w") in new stack
-- Executing [s@macro-hangupcall:2] NoCDR("SIP/202-085370b8", "") in new stack
-- Executing [s@macro-hangupcall:3] GotoIf("SIP/202-085370b8", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,6)
-- Executing [s@macro-hangupcall:6] GotoIf("SIP/202-085370b8", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] GotoIf("SIP/202-085370b8", "1?theend") in new stack
-- Goto (macro-hangupcall,s,11)
-- Executing [s@macro-hangupcall:11] Hangup("SIP/202-085370b8", "") in new stack
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/202-085370b8' in macro 'hangupcall'
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/202-085370b8'
Last edited by wardmundy : 09-24-08 at 06:01 AM.
|
|

09-22-08, 04:19 PM
|
|
Nerd Uno
|
|
Join Date: Oct 2007
Posts: 3,881
|
|
|
Ooops!
Last minute "improvement" left a line missing. Just replace the existing 412 context in extensions_custom.conf with the following and then asterisk -rx "dialplan reload"...
|
Code:
|
exten => 412,1,Answer
exten => 412,2,Wait(1)
exten => 412,3,Set(TIMEOUT(digit)=7)
exten => 412,4,Set(TIMEOUT(response)=10)
exten => 412,5,GotoIf($[${STAT(e,/usr/bin/swift)}]?8)
exten => 412,6,Flite("At the beep enter the first three letters of the name of the person you wish to contact.")
exten => 412,7,Goto(s,9)
exten => 412,8,Swift("At the beep enter the first three letters of the name of the person you wish to contact.")
exten => 412,9,Read(DIALCODE,beep,3)
exten => 412,10,NoOp(Name lookup: ${DIALCODE})
exten => 412,11,AGI(nv-callwho.php,${DIALCODE})
exten => 412,12,NoOp(Number to call: ${NUM2CALL})
exten => 412,13,GotoIf($["foo${NUM2CALL}" = "foo0"]?15)
exten => 412,14,Goto(outbound-allroutes,${NUM2CALL},1)
exten => 412,15,Wait(1)
exten => 412,16,Hangup |
|
|

09-22-08, 06:31 PM
|
|
Guru
|
|
Join Date: Jan 2008
Posts: 364
|
|
|
Much Better, Thx!
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -5. The time now is 08:59 PM.
|
|