Freeswitch directory: Difference between revisions
Jump to navigation
Jump to search
(Created page with "== Overview == Freeswitch directory 내용 정리 == About == Directory 는 Freeswitch 에서 Device 와 Registration 정보를 관리한다. category:freeswitch") |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
== About == | == About == | ||
<freeswitch_conf_directory>/directory 디렉토리에는 Freeswitch 에서 사용되는 모든 user(i.e., SIP phone extensions) 정보들이 위치한다. 보통은 아래의 디렉토리에 위치한다. | |||
<pre> | |||
$ pwd | |||
/etc/freeswitch/directory | |||
$ tree | |||
. | |||
├── default | |||
│ ├── 1000.xml | |||
│ ├── 1001.xml | |||
│ ├── 1002.xml | |||
│ ├── brian.xml | |||
│ ├── default.xml | |||
│ ├── example.com.xml | |||
│ └── skinny-example.xml | |||
└── default.xml | |||
</pre> | |||
== User settings == | |||
<source lang=xml> | |||
<include> | |||
<user id="1000" cidr="12.34.56.78/32,20.0.0.0/8"> <!--ID is the sip username. CIDR is optional -- if specified, these IPs with automatically auth to this user--> | |||
<params> | |||
<param name="password" value="correcthorsebatterystaple"/> <!--SIP password--> | |||
<param name="vm-password" value="8761"/> | |||
</params> | |||
<variables><!--these variable are accessible in the channel--> | |||
<variable name="accountcode" value="1000"/> <!--Use this in your dialplan for authorization and limits. Also, cdr_csv can use it for separate CDR files--> | |||
<variable name="user_context" value="default"/> <!--magic variable: specifies the context--> | |||
<variable name="effective_caller_id_name" value="Extension 1000"/><!--magic variable: used for outbound caller ID name--> | |||
<variable name="effective_caller_id_number" value="1000"/><!--magic variable: used for outbound caller ID name/number--> | |||
</variables> | |||
</user> | |||
</include> | |||
</source> | |||
=== Basic User === | |||
기본적인 User 설정은 정말 간단하다. 간단히 name 과 password 만 설정하면 된다. | |||
<source lang=xml> | |||
<domain name="$${sip_profile}"> | |||
<user id="mike"> | |||
<params> | |||
<param name="password" value="micke"/> | |||
</params> | |||
</user> | |||
</domain> | |||
</source> | |||
* domain | |||
: domain 태그는 해당 User 가 FS 의 어느 Domain 에 속하는지를 알려준다. 다중 도메인 기능을 사용하지 않는한, 모든 User 는 모두 같은 Domain 값을 가져야 한다. | |||
* user id | |||
: SIP address 에서 @ 왼쪽에 오는 부분을 가리킨다. 여기에서는 mike 가 된다(mike@sub.mydomain.com). | |||
<source lang=xml> | |||
<include> | |||
<user id="1000"> | |||
<params> | |||
<param name="password" value="$${default_password}"/> | |||
<param name="vm-password" value="1000"/> | |||
</params> | |||
<variables> | |||
<variable name="toll_allow" value="domestic,international,local"/> | |||
<variable name="accountcode" value="1000"/> | |||
<variable name="user_context" value="default"/> | |||
<variable name="effective_caller_id_name" value="Extension 1000"/> | |||
<variable name="effective_caller_id_number" value="1000"/> | |||
<variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/> | |||
<variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/> | |||
<variable name="callgroup" value="techsupport"/> | |||
</variables> | |||
</user> | |||
</include> | |||
</source> | |||
=== VCards === | |||
만약 mod_dingaling 모듈을 사용한다면 Vcard 형식을 지원할 수도 있다. | |||
<source lang=xml> | |||
<domain name="$${sip_profile}"> | |||
<user id="peter"> | |||
<params> | |||
<param name="password" value="thepassword"/> | |||
</params> | |||
<!-- This is only for mod_dingaling so it can deliver vcards in component mode--> | |||
<vcard xmlns='vcard-temp'> | |||
<FN>Peter Saint-Andre</FN> | |||
<N> | |||
<FAMILY>Saint-Andre</FAMILY> | |||
<GIVEN>Peter</GIVEN> | |||
<MIDDLE/> | |||
</N> | |||
<NICKNAME>stpeter</NICKNAME> | |||
<URL>http://www.jabber.org/people/stpeter.php</URL> | |||
<BDAY>1966-08-06</BDAY> | |||
<ORG> | |||
<ORGNAME>Jabber Software Foundation</ORGNAME> | |||
<ORGUNIT>Jabber Software Foundation</ORGUNIT> | |||
</ORG> | |||
<TITLE>Executive Director</TITLE> | |||
<ROLE>Patron Saint</ROLE> | |||
<TEL><WORK/><VOICE/><NUMBER>303-308-3282</NUMBER></TEL> | |||
<TEL><WORK/><FAX/><NUMBER/></TEL> | |||
<TEL><WORK/><MSG/><NUMBER/></TEL> | |||
<ADR> | |||
<WORK/> | |||
<EXTADD>Suite 600</EXTADD> | |||
<STREET>1899 Wynkoop Street</STREET> | |||
<LOCALITY>Denver</LOCALITY> | |||
<REGION>CO</REGION> | |||
<PCODE>80202</PCODE> | |||
<CTRY>USA</CTRY> | |||
</ADR> | |||
<TEL><HOME/><VOICE/><NUMBER>303-555-1212</NUMBER></TEL> | |||
<TEL><HOME/><FAX/><NUMBER/></TEL> | |||
<TEL><HOME/><MSG/><NUMBER/></TEL> | |||
<ADR> | |||
<HOME/> | |||
<EXTADD/> | |||
<STREET/> | |||
<LOCALITY>Denver</LOCALITY> | |||
<REGION>CO</REGION> | |||
<PCODE>80209</PCODE> | |||
<CTRY>USA</CTRY> | |||
</ADR> | |||
<EMAIL><INTERNET/><PREF/><USERID>stpeter@jabber.org</USERID></EMAIL> | |||
<JABBERID>stpeter@jabber.org</JABBERID> | |||
<DESC> | |||
More information about me is located on my | |||
personal website: http://www.saint-andre.com/ | |||
</DESC> | |||
</vcard> | |||
</user> | |||
</domain> | |||
</source> | |||
== Group settings == | |||
<source lang=xml> | |||
<document type="freeswitch/xml"> | |||
<section name="directory"> | |||
<domain name="sip.example.com"> | |||
<users> | |||
<user id="1000"> | |||
<params> | |||
<param name="dial-string" value="{presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}"/> | |||
</params> | |||
<variables> | |||
<variable name="user_context" value="default"/> | |||
</variables> | |||
</user> | |||
<user id="1001"> | |||
<params> | |||
<param name="dial-string" value="{presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}"/> | |||
</params> | |||
<variables> | |||
<variable name="user_context" value="default"/> | |||
</variables> | |||
</user> | |||
</users> | |||
<groups> | |||
<group name="200"> | |||
<users> | |||
<user id="2014"> | |||
<params> | |||
<param name="dial-string" value="loopback/2014/default/XML"/> | |||
</params> | |||
<variables> | |||
<variable name="user_context" value="default"/> | |||
</variables> | |||
</user> | |||
<user id="1000" type="pointer"/> | |||
<user id="1001" type="pointer"/> | |||
</users> | |||
</group> | |||
</groups> | |||
</domain> | |||
</section> | |||
</document> | |||
</source> | |||
== See also == | |||
* https://freeswitch.org/confluence/display/FREESWITCH/XML+User+Directory - XML User Directory | |||
[[category:freeswitch]] | [[category:freeswitch]] |
Latest revision as of 14:47, 27 April 2016
Overview
Freeswitch directory 내용 정리
About
<freeswitch_conf_directory>/directory 디렉토리에는 Freeswitch 에서 사용되는 모든 user(i.e., SIP phone extensions) 정보들이 위치한다. 보통은 아래의 디렉토리에 위치한다.
$ pwd /etc/freeswitch/directory $ tree . ├── default │ ├── 1000.xml │ ├── 1001.xml │ ├── 1002.xml │ ├── brian.xml │ ├── default.xml │ ├── example.com.xml │ └── skinny-example.xml └── default.xml
User settings
<source lang=xml> <include>
<user id="1000" cidr="12.34.56.78/32,20.0.0.0/8"> <params> <param name="password" value="correcthorsebatterystaple"/> <param name="vm-password" value="8761"/> </params> <variables> <variable name="accountcode" value="1000"/> <variable name="user_context" value="default"/> <variable name="effective_caller_id_name" value="Extension 1000"/> <variable name="effective_caller_id_number" value="1000"/> </variables> </user>
</include> </source>
Basic User
기본적인 User 설정은 정말 간단하다. 간단히 name 과 password 만 설정하면 된다. <source lang=xml> <domain name="$${sip_profile}">
<user id="mike"> <params> <param name="password" value="micke"/> </params> </user>
</domain> </source>
- domain
- domain 태그는 해당 User 가 FS 의 어느 Domain 에 속하는지를 알려준다. 다중 도메인 기능을 사용하지 않는한, 모든 User 는 모두 같은 Domain 값을 가져야 한다.
- user id
- SIP address 에서 @ 왼쪽에 오는 부분을 가리킨다. 여기에서는 mike 가 된다(mike@sub.mydomain.com).
<source lang=xml> <include>
<user id="1000"> <params> <param name="password" value="$${default_password}"/> <param name="vm-password" value="1000"/> </params> <variables> <variable name="toll_allow" value="domestic,international,local"/> <variable name="accountcode" value="1000"/> <variable name="user_context" value="default"/> <variable name="effective_caller_id_name" value="Extension 1000"/> <variable name="effective_caller_id_number" value="1000"/> <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/> <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/> <variable name="callgroup" value="techsupport"/> </variables> </user>
</include> </source>
VCards
만약 mod_dingaling 모듈을 사용한다면 Vcard 형식을 지원할 수도 있다. <source lang=xml> <domain name="$${sip_profile}">
<user id="peter"> <params> <param name="password" value="thepassword"/> </params> <vcard xmlns='vcard-temp'> <FN>Peter Saint-Andre</FN> <N> <FAMILY>Saint-Andre</FAMILY> <GIVEN>Peter</GIVEN> <MIDDLE/> </N> <NICKNAME>stpeter</NICKNAME> <URL>http://www.jabber.org/people/stpeter.php</URL> <BDAY>1966-08-06</BDAY> <ORG> <ORGNAME>Jabber Software Foundation</ORGNAME> <ORGUNIT>Jabber Software Foundation</ORGUNIT> </ORG> <TITLE>Executive Director</TITLE> <ROLE>Patron Saint</ROLE> <TEL><WORK/><VOICE/><NUMBER>303-308-3282</NUMBER></TEL> <TEL><WORK/><FAX/><NUMBER/></TEL> <TEL><WORK/><MSG/><NUMBER/></TEL> <ADR> <WORK/> <EXTADD>Suite 600</EXTADD> <STREET>1899 Wynkoop Street</STREET> <LOCALITY>Denver</LOCALITY> <REGION>CO</REGION> <PCODE>80202</PCODE> <CTRY>USA</CTRY> </ADR> <TEL><HOME/><VOICE/><NUMBER>303-555-1212</NUMBER></TEL> <TEL><HOME/><FAX/><NUMBER/></TEL> <TEL><HOME/><MSG/><NUMBER/></TEL> <ADR> <HOME/> <EXTADD/> <STREET/> <LOCALITY>Denver</LOCALITY> <REGION>CO</REGION> <PCODE>80209</PCODE> <CTRY>USA</CTRY> </ADR> <EMAIL><INTERNET/><PREF/><USERID>stpeter@jabber.org</USERID></EMAIL> <JABBERID>stpeter@jabber.org</JABBERID> <DESC> More information about me is located on my personal website: http://www.saint-andre.com/ </DESC> </vcard> </user>
</domain> </source>
Group settings
<source lang=xml> <document type="freeswitch/xml">
<section name="directory"> <domain name="sip.example.com"> <users> <user id="1000"> <params> <param name="dial-string" value="{presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}"/> </params> <variables> <variable name="user_context" value="default"/> </variables> </user> <user id="1001"> <params> <param name="dial-string" value="{presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}"/> </params> <variables> <variable name="user_context" value="default"/> </variables> </user> </users> <groups> <group name="200"> <users> <user id="2014"> <params> <param name="dial-string" value="loopback/2014/default/XML"/> </params> <variables> <variable name="user_context" value="default"/> </variables> </user> <user id="1000" type="pointer"/> <user id="1001" type="pointer"/> </users> </group> </groups> </domain> </section>
</document> </source>
See also
- https://freeswitch.org/confluence/display/FREESWITCH/XML+User+Directory - XML User Directory