CSipSimple が着信しない!?!?(簡単な解決法&バッテリー改善?)

CSipSimpleをフォアグラウンドにしていても、ときどきCSipSimpleが着信しない時があるというのは、裏で走っているcom.csipsimple:sipStackという待ち受けのプロセスがシステムによってしばらくすると優先順位が下げられ、最終的にkillされてしまうことがあるからなのですが、ここでは確実に着信するようCSipSimpleの優先順位を上げる方法を説明します。

前回のSuperchagerを使う方法は、メモリ関係のチューニングも伴うので少々(かなり?)敷居が高かったわけですが、ちょっと簡単な方法を考えてみました。

結局のところ、bulletproofのスクリプトは、指定の時間ごとにプロセスの優先順位を変えているだけなので、面倒なSuperchagerを使わずともinit.dに無限ループで同じことをするスクリプトを書けばいいだけの話です。

何故無限ループにするかとか言うと、仮に一時的にあるプロセスの優先順位を上げたとしても、そのプロセスが使われていないと、システムがだんだん優先順位を下げてしまうからです。

ということで、com.csipsimpleの優先順位を定期的に書き換えるスクリプトを作ってみました。
Continue reading “CSipSimple が着信しない!?!?(簡単な解決法&バッテリー改善?)”

CSipSimple が着信しない!?!?(初心者には向いていない解決法)

お店の電話をFUSION IP-Phone SMARTに転送して、CSipSimpleで使っていたわけだけど、先日「何回か電話したけど留守電になってたよ」と言われて、SBMのiPhoneからお店に電話してみるとちゃんとCSipSimpleで着信した。

今度はそのお客さんのドコモのAndroidからお店に電話してもらうと、確かにCSipSimpleは鳴らず、そのまま留守電へ。「キャリアのせい??」と思ったけど、何度かドコモのお客さんのAndroidから電話してもらうと、しばらくしてCSipSimpleで繋がった。

これはおかしい… Nexus4はRAMが2GBもあるのに、deep sleep時じゃなくてもCSipSimpleがOSによってkillされているような気がする。「CSipSimple 着信しない」でググると、同じように着信しない人がいて、機種依存している模様。ポート番号を明示的に設定すると着信するとかいう眉唾な解決法も散見された。そこで、正しい解決策を模索してみることにした。
Continue reading “CSipSimple が着信しない!?!?(初心者には向いていない解決法)”