Freeswitch-sofia.conf.xml: Difference between revisions
Line 114: | Line 114: | ||
sofia/gateway/<gateway_name>/<dialstring> | sofia/gateway/<gateway_name>/<dialstring> | ||
</pre> | </pre> | ||
=== Parameters === | |||
==== realm ==== | |||
<source lang=xml> | |||
<!--/// auth realm: *optional* same as gateway name, if blank ///--> | |||
<!-- realm --> | |||
<param name="realm" value="sip.example.com[:port]"/> | |||
</source> | |||
==== username ==== | |||
Profile setting 에서의 username 과 혼동하지 말것. | |||
<source lang=xml> | |||
<!-- /// account username *required* /// --> | |||
<param name="username" value="foo"/> | |||
</source> | |||
==== password ==== | |||
<source lang=xml> | |||
<!--/// account password *required* ///--> | |||
<param name="password" value="a password"/> | |||
</source> | |||
==== from-user ==== | |||
<source lang=xml> | |||
<!--/// username to use in from: *optional* same as username, if blank ///--> | |||
<param name="from-user" value="fooman"/> | |||
</source> | |||
==== from-domain ==== | |||
<source lang=xml> | |||
<!--/// domain to use in from: *optional* same as realm, if blank; can also be set to "auto-aleg-full" or "auto-aleg-domain" ///--> | |||
<param name="from-domain" value="asterlink.com"/> | |||
</source> | |||
=== Use Freeswitch as a client === | === Use Freeswitch as a client === |
Revision as of 12:45, 5 April 2016
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>
Parameters
realm
<source lang=xml> <param name="realm" value="sip.example.com[:port]"/> </source>
username
Profile setting 에서의 username 과 혼동하지 말것. <source lang=xml> <param name="username" value="foo"/> </source>
password
<source lang=xml> <param name="password" value="a password"/> </source>
from-user
<source lang=xml> <param name="from-user" value="fooman"/> </source>
from-domain
<source lang=xml> <param name="from-domain" value="asterlink.com"/> </source>
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>
See also
- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files - sofia.conf.xml
References
<references />