Using the "|" character in AGI EXEC arguments breaks Asterisk 1.6 compatibility
Reported by rosa | May 26th, 2008 @ 12:11 PM | in 0.8.4
my asterisk version is 1.6.0-beta7.1,and adhearsion version is 0.7.7,
in the adh's "internal" dialplan, the "dial extension" command always output "1002||", this command exec failure in asterisk.
I think the output should be "1002,,", then i change the exec method in adearsion.rb as below, the asterisk dial successfully.
could you tell me why using "|" instead of "," in exec method? thank you!
def exec(app, *options)
result = rawr "EXEC #{app} " + (options * ',') //after
result = rawr "EXEC #{app} " + (options * '|') //before
Comments and changes to this ticket
-
rosa May 26th, 2008 @ 12:12 PM
- Title changed from could you tell me why use "|" instead of "," in exec method? thank you! to could you tell me why using "|" instead of "," in exec method? thank you!
-
Jay Phillips June 7th, 2008 @ 02:50 AM
Hmm, it seems that Asterisk 1.6 removes the pipe-delimiter for arguments.
Can you confirm these two points:
1. This breaks basically all AGI methods in Adhearsion for the 1.6 betas, and...
2. Changing the "|" to "," in your copy of Adhearsion it fixes it?
Also, I highly recommend you upgrade to 0.8.0. Any changes I make will be to that version.
Jay Phillips
-
Jay Phillips June 7th, 2008 @ 02:51 AM
- State changed from new to open
- Title changed from could you tell me why using "|" instead of "," in exec method? thank you! to Using the "|" character in AGI EXEC arguments breaks Asterisk 1.6 compatibility
-
rosa June 18th, 2008 @ 11:00 AM
yes,I am sure that it fix it after changing the "|" to ",".
I will try to upgrade to adh 0.8.0.
-
Jay Phillips December 7th, 2008 @ 09:43 PM
- Tag set to agi
- State changed from open to resolved
-
Ben Klang March 5th, 2010 @ 05:40 PM
I just checked and this issue appears to still be present in both Adhearsion 0.8.3 and the clone from git://github.com/jicksta/adhearsion.git
For example in adhearsion/lib/adhearsion/voip/asterisk/commands.rb on line 98:
result = raw_response("EXEC #{application} #{arguments * '|'}")
This causes trouble with Asterisk 1.6.0 and later throwing the message:
[Mar 5 22:36:57] WARNING[26463]: pbx.c:1344 pbx_exec: The application delimiter is now the comma, not the pipe. Did you forget to convert your dialplan? (NoOp(Exten Test|4044754832)) -
Ben Klang June 15th, 2010 @ 09:20 AM
- State changed from resolved to hold
- Assigned user changed from Jay Phillips to Ben Klang
A patch to address this issue has been committed. We are waiting for the patch to be merged into the official Adhearsion repository.
-
Ben Klang June 22nd, 2010 @ 01:19 PM
- Milestone set to 0.8.4
- State changed from hold to resolved
The delimiter will be a configurable option starting with the 0.8.4 release.
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป