agiでmonitorをするのが大変だった。

extensionsでmonitorをするには、

exten => s,1,Monitor(wav,${CALLFILENAME},m)

な感じで行えばいい。簡単。

難しかったのが、${CALLFILENAME}に保存ファイル名を指定するんだけど。
発信元番号や着信番号や日付を付けたファイル名にしたいなと。
日付は、${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S )で良いけど。
難航したのは、発信元番号を入れたいなと言うとき。

${CALLERID(dnid)}

で、発信元番号が取得できるんだけど、なぜか番号にスペースが入る。
extenで、スペースは消すとか、そんな文字列処理書けんよ。
もうやだ。AGIで書いてやる。Perlならそんなの、なんなく出来るのに~。

こうして、またまたハマった。4日ほど。

続く 続きを読む