「利用者:Kaoru」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(AELでextensionの名前制御について追加)
(LookupCIDName()相当: Fix conditional)
 
(同じ利用者による、間の14版が非表示)
2行目: 2行目:
  
 
=中の人=
 
=中の人=
こまけぇこたぁいいんだよ。
+
105いうたらsnomじゃなくてシマノだろ。
 +
 
 +
日本語パッチとかrt200eとかメンテ用: http://github.com/kaoru6/asterisk
  
 
==config==
 
==config==
 
*extensions.confは読めるがAELで書く派
 
*extensions.confは読めるがAELで書く派
*Asterisk 1.6.0系前提
+
*Asterisk 11系前提
  
 
==手元の機材==
 
==手元の機材==
18行目: 20行目:
  
 
*AD-200SE
 
*AD-200SE
 +
*PR-S300SE
 
*RTA55i
 
*RTA55i
 +
 +
==運用実績==
 +
 +
* NTT東西ひかり電話VoIPアダプタ3個register
 +
* 20端末程度収容
 +
  
 
=下書き=
 
=下書き=
27行目: 36行目:
 
notifyringing=noならラインキー点灯し押せばつながる。
 
notifyringing=noならラインキー点灯し押せばつながる。
  
==ports/japanese/asterisk16-sound (FreeBSD)==
+
==LookupCIDName()相当==
 +
if ( ${DB_EXISTS(cidname/${CALLERID(num)})} ) {
 +
    Set(CALLERID(name)=${DB(cidname/${CALLERID(num)})});
 +
}
 +
 
 +
==Asterisk 1.6.0.x への rt200ne パッチ==
 +
 
 +
chan_sip.c.rt200ne.091227-00.patch で Bad Request 400連発でregisterできない。
 +
Expected: Authorization: Digest username="0006", realm="realm", algorithm=MD5, uri="sip:192.168.XXX.XXX" ...
 +
 
 +
Actual: Authorization: Digest username="0006", realm="realm", algorithm=MD5, uri="domain" ...
 +
 
 +
とりあえずchan_sip.cを追って修正した。
 +
Asterisk 1.6.0.27,28に使えるパッチはできたが、ここへの添付方法がよくわからない。
 +
 
 +
==ports/japanese/asterisk16-sounds (FreeBSD)==
  
http://www.freebsd.org/cgi/query-pr.cgi?pr=139448
+
cd /usr/ports/japanese/asterisk16-sounds && sudo make install で余裕。
 +
http://www.freebsd.org/cgi/query-pr.cgi?pr=139448
 +
 
 +
==DAHDI+FreeBSD==
 +
 
 +
cd /usr/ports/misc/dahdi && sudo make install で余裕。
 +
http://gihyo.jp/admin/clip/01/fdt/201007/26
  
 
== AELでextensionの名前制御==
 
== AELでextensionの名前制御==
36行目: 66行目:
 
これはPickup()を使う場合に都合が悪い。
 
これはPickup()を使う場合に都合が悪い。
  
  switch ($FOONUMBER) {
+
  _0. => {
case 911:
+
...
jump to911;
+
switch ($FOONUMBER) {
break;
+
case 911:
...
+
jump to911;
 +
break;
 +
...
 +
}
 
  }
 
  }
 +
 
  to911 => {
 
  to911 => {
 
  Dial(SIP/234&SIP/456,30,tw);
 
  Dial(SIP/234&SIP/456,30,tw);
47行目: 81行目:
 
  }
 
  }
  
などとして分岐の無いextensionへjumpさせれば意図と変化しにくくなる。
+
などとして分岐の無いextensionへjumpさせれば変化しにくくなる。
 
変化したかどうかはael reload後にdialplan showして確認すること。
 
変化したかどうかはael reload後にdialplan showして確認すること。
 +
以下のようにPickup()でjumpした先を指定すればいい。
 +
 +
*88 => {
 +
Pickup(to911); // Dial()部分はto911からは変化しないはず
 +
...
 +
}

2017年7月4日 (火) 11:34時点における最新版


中の人

105いうたらsnomじゃなくてシマノだろ。

日本語パッチとかrt200eとかメンテ用: http://github.com/kaoru6/asterisk

config

  • extensions.confは読めるがAELで書く派
  • Asterisk 11系前提

手元の機材

  • snom220
  • snom105
  • IO-DATA POE-PS
  • FXC ES1012VPE
  • BUFFALO WLE2-POE-S
  • Nortel 460-24T-PWR
  • AD-200SE
  • PR-S300SE
  • RTA55i

運用実績

  • NTT東西ひかり電話VoIPアダプタ3個register
  • 20端末程度収容


下書き

ラインキー 1番に電話(snom220)

Asterisk 1.6.0でもAsterisk 1.4系列と同様の設定でOK。 notifyringing=yesにするとラインキー点滅する上に押してもつながらないので注意。 notifyringing=noならラインキー点灯し押せばつながる。

LookupCIDName()相当

if ( ${DB_EXISTS(cidname/${CALLERID(num)})} ) {
    Set(CALLERID(name)=${DB(cidname/${CALLERID(num)})});
}

Asterisk 1.6.0.x への rt200ne パッチ

chan_sip.c.rt200ne.091227-00.patch で Bad Request 400連発でregisterできない。

Expected: Authorization: Digest username="0006", realm="realm", algorithm=MD5, uri="sip:192.168.XXX.XXX" ...
Actual: Authorization: Digest username="0006", realm="realm", algorithm=MD5, uri="domain" ...

とりあえずchan_sip.cを追って修正した。 Asterisk 1.6.0.27,28に使えるパッチはできたが、ここへの添付方法がよくわからない。

ports/japanese/asterisk16-sounds (FreeBSD)

cd /usr/ports/japanese/asterisk16-sounds && sudo make install で余裕。

http://www.freebsd.org/cgi/query-pr.cgi?pr=139448

DAHDI+FreeBSD

cd /usr/ports/misc/dahdi && sudo make install で余裕。

http://gihyo.jp/admin/clip/01/fdt/201007/26

AELでextensionの名前制御

AELではswitchの中などで、extensionの名前が意図せずに変わってしまう。 これはPickup()を使う場合に都合が悪い。

_0. => {
	...
	switch ($FOONUMBER) {
	case 911:
		jump to911;
		break;
	...
	}
}

to911 => {
	Dial(SIP/234&SIP/456,30,tw);
	Congestion();
}

などとして分岐の無いextensionへjumpさせれば変化しにくくなる。 変化したかどうかはael reload後にdialplan showして確認すること。 以下のようにPickup()でjumpした先を指定すればいい。

*88 => {
	Pickup(to911); // Dial()部分はto911からは変化しないはず
	...
}