Freeswitch-sofia.conf.xml

From 탱이의 잡동사니
Jump to navigation Jump to search

Overview

Freeswitch SIP module 설정파일 sofia.conf.xml 내용 정리

Structure

sofia.conf.xml 파일은 다음과 같은 구조로 되어있다. <source lang=xml> <configuration name="sofia.conf" description="sofia endpoint">

 <global_settings>
 ...
 </global_settings>
 <profiles>
   ...
 </profiles>

</configuration> </source>

global_settings

전역 설정을 하는 부분이다. <source lang=xml>

 <global_settings>
   <param name="log-level" value="0"/>
   <param name="auto-restart" value="false"/>
   <param name="debug-presence" value="0"/>
 </global_settings>

</source>

profiles

sofia 모듈에서 사용하는 각각의 프로필을 설정한다.

<source lang=xml>

 <profiles>
   <profile name="example">
     <gateways>
       <gateway name="example-gateway">
         ...
       </gateway>
       ...
     </gateways>
     <aliases>
       <alias name="default"/>
     </aliases>
     <domains>
       <domain name="all" alias="true" parse="false"/>
     </domains>
     <settings>
       ...
     </settings>
   </profile>
 </profiles>

</source>

profile

profile/gateways

gateway 는 속성값 name 을 가지며, 이를 통해 다른 곳에서 해당 gateway 를 참조할 수 있게된다. 각각의 gateway 는 서로 다른 UA로써 작동하게되며 어떻게 목적지까지 도달하는지를 정의하게 된다. 예를 들면, PSTN 연결 방식을 지정할 수도 있으며 혹은 Private SIP Network 가 정의되어 있을 수도 있다. Asterisk 의 Registry 와 비슷한 개념으로 볼 수 있다. <source lang=xml> <gateways>

 <gateway>
   elements...
 </gateway>
 <gateway>
   elements...
 </gateway>

</gateways> </source>

다음은 설정 예제이다. <source lang=xml> <gateway name="gateway012">

 <param name="realm" value="sip.voipcarrier.com" />
 <param name="username" value="WBrandes" />
 <param name="password" value="myvoiceismypassword" />
 <param name="register" value="true" />
 <param name="caller-id-in-from" value="true" />
 <param name="ping" value="5" />
 <param name="ping-max" value="3" />
 <param name="retry-seconds" value="5" />
 <param name="expire-seconds" value="60" />
 <variables>
   <variable name="verbose_sdp" value="true" />
   <variable name="absolute_codec_string" value="PCMU,PCMA" direction="outbound" />
   <variable name="customer_id" value="3532" direction="inbound"/>
 </variables>

</gateway> </source>

여기서 설정한 gateway 를 dialplan 에서 사용하는 방법은 다음과 같다.

sofia/gateway/<gateway_name>/<dialstring>

Use Freeswitch as a client

Freeswitch 는 다른 서버(freeswitch 등)로부터 이벤트를 받아오는 client 로서 작동할 수 있다. 이를 위해서는 gateway 설정에 아래와 같이 subscriptions 섹션을 추가하면 된다. <source lang=xml> <include>

 <gateway name="fs2">
   <param name="realm" value="192.168.7.2"/>
   <param name="username" value="1000"/>
   <param name="password" value="1234"/>
   <param name="register" value="false"/>
   <subscriptions name="x">
     <subscription event="dialog">
       <param name="retry-seconds" value="40"/>
       <param name="expire-seconds" value="60"/>
       <param name="content-type" value="application/dialog-info+xml"/>
       <param name="username-in-request" value="true"/>
     </subscription>
   </subscriptions>
 </gateway>

</include> </source>

profile/settings

Basic settings

alias

<source lang=xml> </source>

shutdown-on-fall

<source lang=xml> </source>

user-agent-string

<source lang=xml> </source>

debug

<source lang=xml> </source>

sip-trace

<source lang=xml> </source>

context

<source lang=xml> </source>

sip-port

SIP port 번호를 지정한다. <source lang=xml> </source>

sip-ip

SIP IP 주소를 지정한다. hostname 을 입력하면 안된다. 반드시 IP 주소를 입력해야 한다. <source lang=xml> </source>

rtp-ip

RTP IP 주소를 지정한다. hostname 을 입력하면 안된다. 반드시 IP 주소를 입력해야 한다. <source lang=xml> </source>

Media related options

See also

References

<references />