<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>http://www.voip-info.jp/index.php?action=history&amp;feed=atom&amp;title=%E5%88%A9%E7%94%A8%E8%80%85%3ATakuro</id>
	<title>利用者:Takuro - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="http://www.voip-info.jp/index.php?action=history&amp;feed=atom&amp;title=%E5%88%A9%E7%94%A8%E8%80%85%3ATakuro"/>
	<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;action=history"/>
	<updated>2026-04-10T00:35:35Z</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&amp;oldid=prev</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&amp;oldid=prev"/>
		<updated>2014-07-27T02:50:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;**はじめてのおつかい**&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&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=&amp;#039;/var/spool/asterisk&amp;#039;;&lt;br /&gt;
 $faxin=&amp;#039;faxin&amp;#039;;&lt;br /&gt;
 $faxpdf=&amp;#039;faxpdf&amp;#039;;&lt;br /&gt;
 $mailfrom=&amp;#039;hoge@example.com&amp;#039;;&lt;br /&gt;
 $mailto=&amp;#039;fuga@example.com&amp;#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, &amp;#039;r&amp;#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(&amp;#039;safe_mode&amp;#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,&amp;#039;-f&amp;#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; : &amp;#039;[0-9]*&amp;#039; &amp;gt; /dev/null ; then&lt;br /&gt;
        echo &amp;#039;OK&amp;#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 &amp;#039;Send Fax Was Successed.&amp;#039;&lt;br /&gt;
                    echo &amp;#039;Now Removing faxout.tif&amp;#039;&lt;br /&gt;
                    rm -r faxout.tif&lt;br /&gt;
                    exit 0&lt;br /&gt;
                else&lt;br /&gt;
                    echo &amp;#039;Send Fax Was Failed.&amp;#039;&lt;br /&gt;
                    echo &amp;#039;Please check it&amp;#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 &amp;#039;http://weather.livedoor.com/forecast/webservice/json/v1?city=130010&amp;#039; -O- -q | jq -M -c &amp;#039;.description .text&amp;#039; | sed &amp;#039;s/\&amp;quot;//g&amp;#039; - | sed &amp;#039;s/\\n//g&amp;#039; - | sed &amp;#039;s/ //g&amp;#039; - | sed &amp;#039;s/寒気/かんき/g&amp;#039; - | sed &amp;#039;s/所々/ところどころ/g&amp;#039; - | sed &amp;#039;s/日中/にっちゅう/g&amp;#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 &amp;#039;http://weather.livedoor.com/forecast/webservice/json/v1?city=130010&amp;#039; -O- -q | jq -M -c &amp;#039;.description .text&amp;#039; | sed &amp;#039;s/\&amp;quot;//g&amp;#039; - | sed &amp;#039;s/\\n//g&amp;#039; - | sed &amp;#039;s/ //g&amp;#039; - | sed &amp;#039;s/寒気/かんき/g&amp;#039; - | sed &amp;#039;s/所々/ところどころ/g&amp;#039; - |  sed &amp;#039;s/日中/にっちゅう/g&amp;#039; -| wc -c`&lt;br /&gt;
 if `test $WORD -le 804` ; then&lt;br /&gt;
     echo &amp;#039;Noting for Todo&amp;#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 else&lt;br /&gt;
     wget &amp;#039;http://weather.livedoor.com/forecast/webservice/json/v1?city=130010&amp;#039; -O- -q | jq -M -c &amp;#039;.description .text&amp;#039; | sed &amp;#039;s/\&amp;quot;//g&amp;#039; - | sed &amp;#039;s/\\n//g&amp;#039; - | sed &amp;#039;s/ //g&amp;#039; - | sed &amp;#039;s/寒気/かんき/g&amp;#039; - | sed &amp;#039;s/所々/ところどころ/g&amp;#039; - | sed &amp;#039;s/日中/にっちゅう/g&amp;#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 &amp;#039;以上、お伝えしました。ご利用ありがとうございました。&amp;#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 &amp;#039;Noting to do&amp;#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>