Asterisk EAGI: Difference between revisions

From voipsupport
Jump to navigation Jump to search
No edit summary
Line 37: Line 37:
With this patch, use the following in the dialplan prior to calling an EAGI script. The following example shows how to set 48kHz LPCM single channel 16 bit signed audio:
With this patch, use the following in the dialplan prior to calling an EAGI script. The following example shows how to set 48kHz LPCM single channel 16 bit signed audio:


<pre>set(EAGI_AUDIO_FORMAT=sln48)</pre>
<pre>set(EAGI_AUDIO_FORMAT=slin48)</pre>
Note slin48 not sln48
 


Patch:
Patch:


<pre>work in progress</pre>
<pre>work in progress</pre>
Values for the format are:
* g723
* ulaw
* alaw
* gsm
* g726
* g726aal2
* adpcm
* slin
* slin12
* slin16
* slin24
* slin32
* slin44
* slin48
* slin96
* slin192
* lpc10
* g729
* speex
* speex16
* speex32

Revision as of 19:32, 19 June 2016

FreePBX Patch needed to be able to use EAGI

--- extensions.class.original.php	2016-06-18 19:23:14.009320154 +0200
+++ extensions.class.php	2016-06-18 15:54:11.273444005 +0200
@@ -1251,6 +1251,11 @@
 		return "AGI(".$this->data.")";
 	}
 }
+class ext_eagi extends extension {
+	function output() {
+		return "EAGI(".$this->data.")";
+	}
+}
 class ext_deadagi extends extension {
 	function output() {
 		return "DeadAGI(".$this->data.")";

PHPAGI patch to the version distributed in FreePBX to be able to open EAGI audio stream

--- phpagi.dist.php	2016-06-19 09:07:55.475372158 +0200
+++ phpagi.php	2016-06-19 09:46:12.734317454 +0200
@@ -173,10 +173,10 @@
       // open audio if eagi detected
       if($this->request['agi_enhanced'] == '1.0')
       {
-        if(file_exists('/proc/' . getmypid() . '/fd/3'))
+	if (array_search('php',stream_get_wrappers())!==FALSE)
         {
           // this should work on linux
-          $this->audio = fopen('/proc/' . getmypid() . '/fd/3', 'r');
+          $this->audio = fopen('php://fd/' . AUDIO_FILENO, 'r');
         }
         elseif(file_exists('/dev/fd/3'))
         {

Asterisk patch to configure EAGI audio stream format

With this patch, use the following in the dialplan prior to calling an EAGI script. The following example shows how to set 48kHz LPCM single channel 16 bit signed audio:

set(EAGI_AUDIO_FORMAT=slin48)

Note slin48 not sln48


Patch:

work in progress

Values for the format are:

  • g723
  • ulaw
  • alaw
  • gsm
  • g726
  • g726aal2
  • adpcm
  • slin
  • slin12
  • slin16
  • slin24
  • slin32
  • slin44
  • slin48
  • slin96
  • slin192
  • lpc10
  • g729
  • speex
  • speex16
  • speex32