<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>http://www.voip-info.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Takuro</id>
	<title>VoIP-Info.jp - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="http://www.voip-info.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Takuro"/>
	<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Takuro"/>
	<updated>2026-04-09T23:13:45Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Takuro&amp;diff=8808</id>
		<title>利用者:Takuro</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Takuro&amp;diff=8808"/>
		<updated>2014-07-27T02:50:37Z</updated>

		<summary type="html">&lt;p&gt;Takuro: /***はじめてのおつかい***/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== 俺得な設定 ==&lt;br /&gt;
&lt;br /&gt;
とりあえず、Takuroの俺得設定を連ねる。&lt;br /&gt;
スクリプトはすべてGPLv3とします。&lt;br /&gt;
&lt;br /&gt;
//思ったけどこれすっごいgdgd&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fax for Asterisk用シェルスクリプト ==&lt;br /&gt;
このサイトの、Fax2Mail.shだと意味不明な文章(uuencodeのせいだと思う)で面倒くさいし、とあるサイトで見つけたFax2Mail.plだとPostfixが嫌がるので、仕方なくこんなスクリプトをゴリゴリ書いた。&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 //Setting Value&lt;br /&gt;
 $basedir=&#039;/var/spool/asterisk&#039;;&lt;br /&gt;
 $faxin=&#039;faxin&#039;;&lt;br /&gt;
 $faxpdf=&#039;faxpdf&#039;;&lt;br /&gt;
 $mailfrom=&#039;hoge@example.com&#039;;&lt;br /&gt;
 $mailto=&#039;fuga@example.com&#039;;&lt;br /&gt;
 $header .= &amp;quot;Content-Type: multipart/mixed; boundary=\&amp;quot;__PHPRECIPE__\&amp;quot;\r\n&amp;quot;;&lt;br /&gt;
 $header .= &amp;quot;\r\n&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 $body  = &amp;quot;--__PHPRECIPE__\r\n&amp;quot;;&lt;br /&gt;
 $body .= &amp;quot;Content-Type: text/plain; charset=\&amp;quot;ISO-2022-JP\&amp;quot;\r\n&amp;quot;;&lt;br /&gt;
 $body .= &amp;quot;\r\n&amp;quot;;&lt;br /&gt;
 $body .= $mailbody . &amp;quot;\r\n&amp;quot;;&lt;br /&gt;
 $body .= &amp;quot;--__PHPRECIPE__\r\n&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 $data = fopen($pdfname, &#039;r&#039;);&lt;br /&gt;
 $attachdata = fread($data, filesize($pdfname));&lt;br /&gt;
 fclose($data);&lt;br /&gt;
 $attach64 = base64_encode($attachdata);&lt;br /&gt;
 $body .= &amp;quot;Content-Type: application/pdf; name=\&amp;quot;$filename\&amp;quot;\r\n&amp;quot;;&lt;br /&gt;
 $body .= &amp;quot;Content-Transfer-Encoding: base64\r\n&amp;quot;;&lt;br /&gt;
 $body .= &amp;quot;Content-Disposition: attachment; filename=\&amp;quot;$filename\&amp;quot;\r\n&amp;quot;;&lt;br /&gt;
 $body .= &amp;quot;\r\n&amp;quot;;&lt;br /&gt;
 $body .= chunk_split($attach64) . &amp;quot;\r\n&amp;quot;;&lt;br /&gt;
 $body .= &amp;quot;--__PHPRECIPE__--\r\n&amp;quot;;&lt;br /&gt;
 if (ini_get(&#039;safe_mode&#039;)) {&lt;br /&gt;
      $result = mb_send_mail($mailto, $mailsubject, $body, $header);&lt;br /&gt;
 } else {&lt;br /&gt;
      $result = mb_send_mail($mailto, $mailsubject, $body, $header,&#039;-f&#039; . $mailreturn);&lt;br /&gt;
 }&lt;br /&gt;
 if($result){&lt;br /&gt;
     unlink($tiffname);&lt;br /&gt;
     unlink($pdfname);&lt;br /&gt;
     exit(0);&lt;br /&gt;
 }else{&lt;br /&gt;
     exit(1);&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
適当にFax2Mail.plのいいところとFax2Mail.shのいいところを掛けあわせてやった。&lt;br /&gt;
&lt;br /&gt;
== 簡単にFaxoutを実行できやがるスクリプト ==&lt;br /&gt;
僕のGistに乗せてあるのでパクってきた&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 file=faxout.tif&lt;br /&gt;
 if [ -e $file ]; then&lt;br /&gt;
     echo &amp;quot;$file Found, Do Send fax.&amp;quot;&lt;br /&gt;
     echo -n &amp;quot;Please input send fax number: &amp;quot;&lt;br /&gt;
     read faxnum&lt;br /&gt;
     if expr &amp;quot;$faxnum&amp;quot; : &#039;[0-9]*&#039; &amp;gt; /dev/null ; then&lt;br /&gt;
        echo &#039;OK&#039; &amp;gt; /dev/null&lt;br /&gt;
     else&lt;br /&gt;
         echo &amp;quot;This is not number. Please try agein.&amp;quot;&lt;br /&gt;
         exit 1&lt;br /&gt;
     fi&lt;br /&gt;
     while true; do&lt;br /&gt;
         echo -n &amp;quot;Send number is ${faxnum} is this correct? [y/N]: &amp;quot;&lt;br /&gt;
         read confirm&lt;br /&gt;
         case $confirm in&lt;br /&gt;
             y) echo &amp;quot;OK,It will Start within 3seconds.&amp;quot;&lt;br /&gt;
                echo &amp;quot;Note: You need Administrator Password&amp;quot;&lt;br /&gt;
                sudo asterisk -rx &amp;quot;originate SIP/${faxnum}@brastel extension send@fax-tx&amp;quot; &lt;br /&gt;
                if [ &amp;quot;$?&amp;quot; -eq 0 ]; then&lt;br /&gt;
                    echo &#039;Send Fax Was Successed.&#039;&lt;br /&gt;
                    echo &#039;Now Removing faxout.tif&#039;&lt;br /&gt;
                    rm -r faxout.tif&lt;br /&gt;
                    exit 0&lt;br /&gt;
                else&lt;br /&gt;
                    echo &#039;Send Fax Was Failed.&#039;&lt;br /&gt;
                    echo &#039;Please check it&#039;&lt;br /&gt;
                    exit 1&lt;br /&gt;
                fi&lt;br /&gt;
                break&lt;br /&gt;
                ;;&lt;br /&gt;
             *) echo &amp;quot;Aborting.&amp;quot;&lt;br /&gt;
                exit 1&lt;br /&gt;
                break&lt;br /&gt;
                ;;&lt;br /&gt;
         esac&lt;br /&gt;
     done&lt;br /&gt;
 else&lt;br /&gt;
     echo &amp;quot;$file not found.&amp;quot;&lt;br /&gt;
     echo &amp;quot;If you have tif file, please rename faxout.tif&amp;quot;&lt;br /&gt;
     exit 1&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
@brastelとかは勝手に書き換えてね。faxout.tifと同じディレクトリにおいて試してくだせえ。&lt;br /&gt;
== お天気予報 ==&lt;br /&gt;
177もどき。僕が書いているサイトでも載せてあるのでまんまぱくる。&lt;br /&gt;
jqとOpen J Talk、Meiが必要で、適宜書き換えてくだせえ。&lt;br /&gt;
extensions.confは載せてやる。お前のためだけに。&lt;br /&gt;
 ;Weather Service&lt;br /&gt;
 exten =&amp;gt; 177,1,Answer()&lt;br /&gt;
 exten =&amp;gt; 177,n,Playback(queue-callswaiting)&lt;br /&gt;
 exten =&amp;gt; 177,n,System(/usr/local/bin/weathertalk)&lt;br /&gt;
 exten =&amp;gt; 177,n,Playback(weather)&lt;br /&gt;
 exten =&amp;gt; 177,n,Hangup()&lt;br /&gt;
↑フレッシュなデータが聞けるぜぇ&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 date +&amp;quot;%Y年%m月%d日 %I時%M分現在の天気予報をお伝えします。&amp;quot; | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m /usr/share/hts-voice/mei/mei_normal.htsvoice -ow /tmp/announce.wav&lt;br /&gt;
 wget &#039;http://weather.livedoor.com/forecast/webservice/json/v1?city=130010&#039; -O- -q | jq -M -c &#039;.description .text&#039; | sed &#039;s/\&amp;quot;//g&#039; - | sed &#039;s/\\n//g&#039; - | sed &#039;s/ //g&#039; - | sed &#039;s/寒気/かんき/g&#039; - | sed &#039;s/所々/ところどころ/g&#039; - | sed &#039;s/日中/にっちゅう/g&#039; - | cut -c 1-804 | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m /usr/share/hts-voice/mei/mei_normal.htsvoice -ow /tmp/weather1.wav&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 WORD=`wget &#039;http://weather.livedoor.com/forecast/webservice/json/v1?city=130010&#039; -O- -q | jq -M -c &#039;.description .text&#039; | sed &#039;s/\&amp;quot;//g&#039; - | sed &#039;s/\\n//g&#039; - | sed &#039;s/ //g&#039; - | sed &#039;s/寒気/かんき/g&#039; - | sed &#039;s/所々/ところどころ/g&#039; - |  sed &#039;s/日中/にっちゅう/g&#039; -| wc -c`&lt;br /&gt;
 if `test $WORD -le 804` ; then&lt;br /&gt;
     echo &#039;Noting for Todo&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 else&lt;br /&gt;
     wget &#039;http://weather.livedoor.com/forecast/webservice/json/v1?city=130010&#039; -O- -q | jq -M -c &#039;.description .text&#039; | sed &#039;s/\&amp;quot;//g&#039; - | sed &#039;s/\\n//g&#039; - | sed &#039;s/ //g&#039; - | sed &#039;s/寒気/かんき/g&#039; - | sed &#039;s/所々/ところどころ/g&#039; - | sed &#039;s/日中/にっちゅう/g&#039; - | cut -c 805-1600 | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m /usr/share/hts-voice/mei/mei_normal.htsvoice -ow /tmp/weather2.wav&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 fi&lt;br /&gt;
 echo &#039;以上、お伝えしました。ご利用ありがとうございました。&#039; | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m /usr/share/hts-voice/mei/mei_normal.htsvoice -ow /tmp/end.wav&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 if `test $WORD -le 804` ; then&lt;br /&gt;
     mv /tmp/weather1.wav /tmp/weather3.wav&lt;br /&gt;
 else&lt;br /&gt;
     sox /tmp/weather1.wav /tmp/weather2.wav /tmp/weather3.wav&lt;br /&gt;
 fi&lt;br /&gt;
 sox /tmp/announce.wav /tmp/weather3.wav /tmp/weather4.wav&lt;br /&gt;
 sox /tmp/weather4.wav /tmp/end.wav /tmp/weather5.wav&lt;br /&gt;
 sox /var/lib/asterisk/sounds/ja/callup.wav /tmp/weather5.wav /tmp/weather6.wav&lt;br /&gt;
 sox /tmp/weather6.wav -r 8000 /tmp/weather7.wav&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 sox /tmp/weather7.wav /tmp/weather.ul&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 sox /tmp/weather7.wav /tmp/weather.gsm&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mv /tmp/weather.gsm /var/lib/asterisk/sounds/ja/&lt;br /&gt;
 mv /tmp/weather.ul /var/lib/asterisk/sounds/ja/weather.ulaw&lt;br /&gt;
 rm /tmp/announce.wav /tmp/weather3.wav /tmp/weather4.wav /tmp/weather5.wav /tmp/weather6.wav /tmp/weather7.wav /tmp/end.wav&lt;br /&gt;
 if `test $WORD -le 804` ; then&lt;br /&gt;
     echo &#039;Noting to do&#039; &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 else&lt;br /&gt;
     rm /tmp/weather1.wav /tmp/weather2.wav&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== オートコールバック ==&lt;br /&gt;
これ食うと凍る(コレクトコール)。&lt;br /&gt;
&lt;br /&gt;
掛けると一旦話し中でぶった切られるけど、5秒後にお電話がかけ直してきやがるやつ。&lt;br /&gt;
で、IVRで電話番号入れやがれと言われるので、繋ぎたい内線or外線をDTMFでダイヤルするといいって感じ。&lt;br /&gt;
extensions.confは仕方ねぇ、載せてやる。&lt;br /&gt;
 exten =&amp;gt; 108,1,System(nohup /var/lib/asterisk/collect.sh ${CALLERID(number)} &amp;amp;)&lt;br /&gt;
 exten =&amp;gt; 108,n,Busy&lt;br /&gt;
 exten =&amp;gt; collect,1,Set(CNT=1)&lt;br /&gt;
 exten =&amp;gt; collect,2,Ringing&lt;br /&gt;
 exten =&amp;gt; collect,3,Wait(1)&lt;br /&gt;
 exten =&amp;gt; collect,4,Answer&lt;br /&gt;
 exten =&amp;gt; collect,5,Wait(1)&lt;br /&gt;
 exten =&amp;gt; collect,6,Background(vm-enter-num-to-call)&lt;br /&gt;
 exten =&amp;gt; collect,7,WaitExten(5)&lt;br /&gt;
 exten =&amp;gt; collect,8,GotoIf($[${CNT} &amp;gt;= 3]?11:9)&lt;br /&gt;
 exten =&amp;gt; collect,9,Set(CNT=$[${CNT} + 1])&lt;br /&gt;
 exten =&amp;gt; collect,10,Goto(collect,6)&lt;br /&gt;
 exten =&amp;gt; collect,11,Playback(tt-monkeysintro)&lt;br /&gt;
 exten =&amp;gt; collect,12,Hangup&lt;br /&gt;
で、collect.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 sleep 5&lt;br /&gt;
 FromNum=`echo -n $1 | wc -m`&lt;br /&gt;
 typeset -i RET=&amp;quot;1&amp;quot;&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; = &amp;quot;201&amp;quot; ] ; then&lt;br /&gt;
     typeset -i RET=&amp;quot;0&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; = &amp;quot;202&amp;quot; ] ; then&lt;br /&gt;
     typeset -i RET=&amp;quot;0&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; = &amp;quot;203&amp;quot; ] ; then&lt;br /&gt;
     typeset -i RET=&amp;quot;0&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; = &amp;quot;0330000000&amp;quot; ] ; then&lt;br /&gt;
     typeset -i RET=&amp;quot;0&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 if [ &amp;quot;$RET&amp;quot; = &amp;quot;1&amp;quot; ] ; then&lt;br /&gt;
     echo &amp;quot;NOT ACCEPTED NUMBER&amp;quot;&lt;br /&gt;
     exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 if test $FromNum -le 4 ; then&lt;br /&gt;
     echo &amp;quot;Called to Inline&amp;quot;&lt;br /&gt;
     echo &amp;quot;Channel: SIP/${1}&lt;br /&gt;
 CallerID: CollectCall &amp;lt;108&amp;gt;&lt;br /&gt;
 MaxRetries: 1&lt;br /&gt;
 RetryTime: 15&lt;br /&gt;
 WaitTime: 30&lt;br /&gt;
 Extension: collect&lt;br /&gt;
 Priority: 1&amp;quot; &amp;gt; /var/spool/asterisk/outgoing/inline.txt&lt;br /&gt;
 else&lt;br /&gt;
     echo &amp;quot;Called to Outline&amp;quot;&lt;br /&gt;
     echo &amp;quot;Channel: SIP/${1}@brastel&lt;br /&gt;
 CallerID: CollectCall &amp;lt;05068630000&amp;gt;&lt;br /&gt;
 MaxRetries: 1&lt;br /&gt;
 RetryTime: 15&lt;br /&gt;
 WaitTime: 30&lt;br /&gt;
 Context: default&lt;br /&gt;
 Extension: collect&lt;br /&gt;
 Priority: 1&amp;quot; &amp;gt; /var/spool/asterisk/outgoing/outline.txt&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
これでいいはずだぜ。&lt;br /&gt;
&lt;br /&gt;
興味があったら随時追加していってやる。&lt;/div&gt;</summary>
		<author><name>Takuro</name></author>
	</entry>
</feed>