Vicidial calls customer, hangs up on transfer

All installation and configuration problems and questions

Moderators: gerski, enjay, williamconley, Op3r, Staydog, gardo, mflorell, MJCoate, mcargile, Kumba, Michael_N

Vicidial calls customer, hangs up on transfer

Postby scratchspace » Wed Sep 13, 2006 12:55 pm

I'm having a problem getting calls connected to the agent. Vicidial correctly calls the agent and places him in a conference room, begins placing outbound calls, but the callee is hungup as soon as they answer. Looks like the transfer is failing, but I can't figure out why. I've tried setting up a new virgin dialplan, but the problem persists leading me to believe there's something else going on.


Sep 13 13:31:50 DEBUG[5606] manager.c: Manager received command 'Originate'
Sep 13 13:31:50 VERBOSE[5608] logger.c: -- Executing Dial("Local/914085551234@default-030d,2", "IAX2/myvoipprovider/14085551234||tTo") in new stack
Sep 13 13:31:50 DEBUG[30708] channel.c: Avoiding initial deadlock for 'IAX2/myvoipprovider-4'
Sep 13 13:31:50 VERBOSE[5608] logger.c: -- Called myvoipprovider/14085551234
Sep 13 13:31:50 VERBOSE[30758] logger.c: -- Call accepted by 10.10.10.10 (format gsm)
Sep 13 13:31:50 VERBOSE[30758] logger.c: -- Format for call is gsm
Sep 13 13:31:50 VERBOSE[5608] logger.c: -- IAX2/myvoipprovider-4 is making progress passing it to Local/914085551234@default-030d,2
Sep 13 13:31:50 DEBUG[30758] chan_iax2.c: Ooh, voice format changed to 2
Sep 13 13:31:50 DEBUG[30964] manager.c: Manager received command 'Command'
Sep 13 13:31:57 DEBUG[30964] manager.c: Manager received command 'Command'
Sep 13 13:31:57 VERBOSE[5608] logger.c: -- IAX2/myvoipprovider-4 answered Local/914085551234@default-030d,2
Sep 13 13:31:57 DEBUG[5606] manager.c: Manager received command 'Logoff'
Sep 13 13:31:57 VERBOSE[5606] logger.c: == Manager 'sendcron' logged off from 127.0.0.1
Sep 13 13:31:57 VERBOSE[5631] logger.c: -- Executing AGI("Local/914085551234@default-030d,1", "call_log.agi|8365") in new stack
Sep 13 13:31:57 DEBUG[5608] channel.c: Planning to masquerade channel IAX2/myvoipprovider-4 into the structure of Local/914085551234@default-030d,1
Sep 13 13:31:57 DEBUG[5608] channel.c: Done planning to masquerade channel IAX2/myvoipprovider-4 into the structure of Local/914085551234@default-030d,1
Sep 13 13:31:57 DEBUG[5608] chan_local.c: Not posting to queue since already masked on 'Local/914085551234@default-030d,2'
Sep 13 13:31:57 VERBOSE[5631] logger.c: -- Launched AGI Script /var/lib/asterisk/agi-bin/call_log.agi
Sep 13 13:31:57 DEBUG[5631] channel.c: Got clone lock for masquerade on 'IAX2/myvoipprovider-4' at 0x9709a64
Sep 13 13:31:57 DEBUG[5608] channel.c: Didn't get a frame from channel: Local/914085551234@default-030d,2
Sep 13 13:31:57 DEBUG[5608] channel.c: Bridge stops bridging channels Local/914085551234@default-030d,2 and IAX2/myvoipprovider-4<MASQ>
Sep 13 13:31:57 DEBUG[5631] channel.c: Putting channel IAX2/myvoipprovider-4 in 64/64 formats
Sep 13 13:31:57 DEBUG[5631] channel.c: Released clone lock on 'Local/914085551234@default-030d,1<ZOMBIE>'
Sep 13 13:31:57 DEBUG[5608] app_dial.c: Exiting with DIALSTATUS=ANSWER.
Sep 13 13:31:57 VERBOSE[5608] logger.c: == Spawn extension (default, 914085551234, 1) exited non-zero on 'Local/914085551234@default-030d,2'
Sep 13 13:31:57 DEBUG[5631] channel.c: Done Masquerading IAX2/myvoipprovider-4 (6)
Sep 13 13:31:57 VERBOSE[5631] logger.c: -- AGI Script call_log.agi completed, returning 0
Sep 13 13:31:57 VERBOSE[5631] logger.c: -- Executing AGI("IAX2/myvoipprovider-4", "agi-VDADtransfer.agi|8365") in new stack
Sep 13 13:31:57 VERBOSE[5631] logger.c: -- Launched AGI Script /var/lib/asterisk/agi-bin/agi-VDADtransfer.agi
Sep 13 13:31:57 VERBOSE[5631] logger.c: -- AGI Script agi-VDADtransfer.agi completed, returning 0
Sep 13 13:31:57 VERBOSE[5631] logger.c: -- Executing AGI("IAX2/myvoipprovider-4", "agi-VDADtransfer.agi|8365") in new stack
Sep 13 13:31:57 VERBOSE[5631] logger.c: -- Launched AGI Script /var/lib/asterisk/agi-bin/agi-VDADtransfer.agi
Sep 13 13:31:57 DEBUG[30964] manager.c: Manager received command 'Command'
Sep 13 13:31:57 VERBOSE[5631] logger.c: -- AGI Script agi-VDADtransfer.agi completed, returning 0
Sep 13 13:31:57 VERBOSE[5631] logger.c: -- Executing AGI("IAX2/myvoipprovider-4", "agi-VDADtransfer.agi|8365") in new stack
Sep 13 13:31:57 VERBOSE[5631] logger.c: -- Launched AGI Script /var/lib/asterisk/agi-bin/agi-VDADtransfer.agi
Sep 13 13:31:57 VERBOSE[5631] logger.c: -- AGI Script agi-VDADtransfer.agi completed, returning 0
Sep 13 13:31:57 VERBOSE[5631] logger.c: -- Executing Hangup("IAX2/myvoipprovider-4", "") in new stack
Sep 13 13:31:57 VERBOSE[5631] logger.c: == Spawn extension (default, 8365, 5) exited non-zero on 'IAX2/myvoipprovider-4'
Sep 13 13:31:57 DEBUG[5631] chan_iax2.c: We're hanging up IAX2/myvoipprovider-4 now...
Sep 13 13:31:57 VERBOSE[5631] logger.c: -- Hungup 'IAX2/myvoipprovider-4'
scratchspace
 
Posts: 26
Joined: Wed Sep 13, 2006 12:51 pm

Postby mflorell » Wed Sep 13, 2006 1:06 pm

What version of astguiclient are you using?

What version of Asterisk are you using?

are you using the same Dial string for your IAX trunk as you used to register it?
mflorell
Site Admin
 
Posts: 18386
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Postby scratchspace » Wed Sep 13, 2006 1:25 pm

astguiclient_1.1.12-3
Asterisk SVN-branch-1.2-r42783 (1.2.12.1 updated due to "the bug")

As for the trunk, in extensions.conf I have

TRUNKIAX=IAX2/myvoipprovider

Which references the config in iax.conf

The callee's phone rings, but as soon as they answer they are hung up on. The agent never has a chance to get the call.

I replaced TRUNKIAX with the register string and now the call makes it through. Good catch :-)

The problem is, I need to "alias" the iax trunk in iax.conf (i.e. FreePBX integration). So the question would be, why does this break, and how can I configure Vicidial in a FreePBX friendly way?

Thanks Matt!
scratchspace
 
Posts: 26
Joined: Wed Sep 13, 2006 12:51 pm

Postby mflorell » Wed Sep 13, 2006 2:38 pm

scratchspace wrote:I replaced TRUNKIAX with the register string and now the call makes it through. Good catch :-)


Thanks, it's actually a common problem with VOIP trunks. It's caused by Asterisk because it cannot seem to match a provider with a register if they don't have the same exact connection strings.

The problem is, I need to "alias" the iax trunk in iax.conf (i.e. FreePBX integration). So the question would be, why does this break, and how can I configure Vicidial in a FreePBX friendly way?


Well, nothing is very friendly with FreePBX because of how it has been written. This is an Asterisk issue and I have not been able to find another way around it.
mflorell
Site Admin
 
Posts: 18386
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Postby scratchspace » Fri Sep 15, 2006 4:42 am

Well I must be missing something simple. It worked once, I fidded about, and it's back to it's old behavior. I'm fairly certain I put things back they way they were when the call worked. Just to clarify, here's the config :

extensions.conf :
TRUNKIAX=IAX2/username:password@voipprovider.com:4569
exten => _9NXXNXXXXXX,1,Dial(${TRUNKIAX}/${EXTEN:1},,tTo)
exten => _9NXXNXXXXXX,2,Hangup

iax.conf :
register=username:password@voipprovider.com:4569

[voipprovider]
usename=username
secret=password
type=friend
contect=from-pstn


I compared the logs from the good and bad calls, and there's nothing obvious. Good call transfers to MeetMe, bad call just loops back to VDADtransfer then hangs up.

I did attempt to enable some debugging, but it's not clear to me where the data is being logged. How can I go about troubleshooting the cause of this problem?
scratchspace
 
Posts: 26
Joined: Wed Sep 13, 2006 12:51 pm

Postby mflorell » Fri Sep 15, 2006 6:31 am

It is most likely a Local/ channel failing to resolve to it's true IAX channelname. This is just something you have to play with in your settings until it works.

As for the logs, you need to look at the Real Asterisk CLI not asterisk -r for debug info.
mflorell
Site Admin
 
Posts: 18386
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Postby gerski » Fri Sep 15, 2006 12:06 pm

i think you have missed this:

Code: Select all
exten => _9NXXNXXXXXX,1,Dial(${TRUNKIAX}/${EXTEN:1},,tTo)
exten => _9NXXNXXXXXX,2,Hangup


add 1 after the prefix 9.. it seems the numbers are incorrect.
gerski
 
Posts: 432
Joined: Fri Jul 14, 2006 6:21 am

Postby mflorell » Fri Sep 15, 2006 2:31 pm

One more thing, you do not have the call_log.agi entry in the 1 priority. This needs to be in there before the Dial happens. Please read the SCRATCH_INSTALL doc for more info.
mflorell
Site Admin
 
Posts: 18386
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Postby scratchspace » Sun Sep 17, 2006 3:33 pm

I had snipped the full the configuration in the post... I found the cause of the problem, that is the use of safe_asterisk (FreePBX default). If I run asterisk from the command line as root, I'm able to use aliases such as "IAX2/myvoipprovider" just fine. If I use safe_asterisk, it doesn't seem to matter what I use in TRUNKIAX, it just loops and dumps the call. At this point I'm not sure why safe_asterisk is having the above effect.

I'd prefer to run safe_asterisk for few reasons;

The FreePBX rc script is already there.
Crash email notifications.

Having gotten past the above issue temporarily, I was able to modify one line in the FreePBX dialplan macro-outbound-callerid to eliminate the callerID Name issue that's plagued other FreePBX users:

Change this :

exten=> s,n,Set(TRUNKOUTCID=${OUTCID_${ARG1}})

to this :

exten=> s,n,Set(TRUNKOUTCID=${CALLERID(all)})

Since Vicidial tracks the calls by CallerID Name, what options if any does one have for setting a unique name each campaign? Seems that if the PSTN provider allows us to change CallerID Name, the end user will see "V00002829383024" in their caller ID. Correct? My current ITSP doesn't allow us to change the name, but I believe others do.
scratchspace
 
Posts: 26
Joined: Wed Sep 13, 2006 12:51 pm

Postby mflorell » Mon Sep 18, 2006 9:05 am

You cannot set callerIDname on the fly. This is a limitation of the PSTN network and how callerID is setup, so it is not really an issue when you call PSTN-based numbers that the callerIDname is sent as a seemingly random string of characters.
mflorell
Site Admin
 
Posts: 18386
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Postby scratchspace » Mon Sep 18, 2006 11:20 am

Any thoughts on why Asterisk breaks with safe_asterisk?
scratchspace
 
Posts: 26
Joined: Wed Sep 13, 2006 12:51 pm

Postby mflorell » Mon Sep 18, 2006 11:54 am

I've never really used safe_asterisk in production and try to avoid anything having to do with FreePBX in production systems. If it was programmed correctly it should work the same as starting asterisk from command line. Do you have more than one asterisk binary on your server?
mflorell
Site Admin
 
Posts: 18386
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Postby scratchspace » Fri Sep 22, 2006 12:40 pm

I'm not sure why you're so hard on FreePBX. Like any GUI, it does drive the system configuration and you have to do things in a method friendly with the GUI. Sure there is a learning curve because not all things get documented as they should, but this is an actively developed project and has come a long way since it's debut. I think the draw here is that FreePBX provides a GUI to setup the things that AstGUI/Vici don't. When you're turning a system over to a call center and want to delegate the management of the system, you really need the GUI for this. In the end, only minor modifications were needed to make this work, albeit a major PITA to accomplish the first time around.

As for the asterisk binary, no there's just one. To clarify, this is not a Trixbox install, everything including FreePBX was installed by hand. I don't think this is a FreeBPX problem as safe_asterisk ships with Asterisk. Clearly something is different, I just don't know what.
scratchspace
 
Posts: 26
Joined: Wed Sep 13, 2006 12:51 pm

Postby mflorell » Fri Sep 22, 2006 4:15 pm

My major problem with FreePBX is it's exhaustive use of macros. It should not take 40+ steps in the dialplan to place a call.

This is the reason that using FreePBX in production VICIDIAL systems is not recommended because it reduces the capacity of the machine by slowing call processing down.

As for the safe_asterisk issue, please post if you figure out what the difference is.
mflorell
Site Admin
 
Posts: 18386
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Postby itiliti » Sun Oct 08, 2006 7:54 pm

What interface for Asterisk do you like? If not freepnx, is there anything else out there that works better for configuring asterisk?
itiliti
 
Posts: 7
Joined: Sun Oct 08, 2006 7:42 pm

Postby mflorell » Mon Oct 09, 2006 6:41 am

I use "vi" at command line. phpconfig for Asterisk was good, but I don't think it's supported anymore.
mflorell
Site Admin
 
Posts: 18386
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Postby espencer » Mon Oct 09, 2006 10:36 am

phpconfig is pretty handy but is probably not being developed since Dave Packham (the author) is so busy these days. He is the IT architect for the University if Utah and they are doing some big things right now as he has convinced them to move to asterisk for their new phone system. Dave is also a member of our Asterisk users' group and has even presented once(video on http://www.utaug.org). Even though it may not be actively developed, it seems to be quite stable and useful.

WinSCP is almost as quick as phpconfig and gives windows folks easy file transfers to their desktop as well.

here are some other Asterisk configuration GUIs that are on the order of magnitude of freepbx:

http://www.vecsector.com/phonecall/

http://www.voiceone.it/

[url]astbill.com/whatis[/url]

Jared Smith, being the dialplan wizard that he is, uses the dialplan to configure Asterisk. With servers he deploys and a set of simple instructions you can set everything up from your phone.
espencer
 
Posts: 33
Joined: Wed Aug 23, 2006 3:16 pm


Return to Support

Who is online

Users browsing this forum: Google [Bot] and 88 guests