命令
呼叫远程 SIP 服务器上的分机
基本形式:
sofia/<profile>/<extension>@<remoteserver>
示例 1:
sofia/$${profile}/$1@example.org
示例 2:
sofia/foo/0@sipphone.com
其中<profile>
是 sofia.conf.xml
中定义的配置文件之一的名称。默认情况下,有一个配置文件定义为 name="$${domain}"
,其中 $${domain}
变量在 freeswitch.xml
中定义,默认为 mydomain.com
。
因此,如果您没有更改这些配置文件并且正在拨打远程服务器上的分机,那么配置将是
sofia/ mydomain.com / <extension> @ <remoteserver>
要列出所有定义的配置文件,请在 CLI 上键入sofia status
。
呼叫本地注册的端点
基本形式:
sofia/<profile>/<extension>%<localserver>
示例 1:
sofia/$${profile}/$1%$${domain}
示例 2:
sofia/foo/101%192.168.1.1
其中 foo 是 SIP 配置文件,101 是注册端点的用户 ID,192.168.1.1 是 FreeSWITCH 的 IP 地址。
如果您的 SIP 配置文件名称设置为您的域,或者在配置文件中设置了域属性(例如,<profile name="internal" domain="$${domain}">
),您可以使用以下内容:
sofia/<profile>/<extension>
并在拨打本地分机时放弃域。
刷新和重新启动注册的端点
您可以通过从控制台发出 flush_inbound_reg 命令来刷新注册或重新启动特定的注册端点。
sofia profile <profile_name> flush_inbound_reg [<call_id>|<user@host>] [reboot]
如果您省略 <call_id> 和/或 <user@host>,您将刷新/重新启动配置文件上的每个注册端点。
您还可以使用 check_sync 命令:
sofia profile <profile_name> check_sync <call_id> | <user@domain>
创建新配置
如果您创建了一个新配置文件,您需要从控制台启动它:
sofia profile <new_profile_name> start
重新加载配置文件和网关
您可以通过从控制台发出 killgw 命令来删除特定网关。如果使用 _all_
作为网关名称,所有网关都将被杀死
sofia profile <profile_name> killgw <gateway_name>
重启网关
您可以通过从控制台发出 killgw 命令,然后重新扫描配置文件来强制重启网关(适用于强制重新注册或类似操作)。在具有活动呼叫的配置文件上执行此操作是安全的。
sofia profile <profile_name> killgw <gateway_name>
sofia profile <profile_name> rescan
添加/更改现有网关
假设您在 /usr/local/freeswitch/conf/sip_profiles/external
目录中拥有所有网关,并且您刚刚创建了一个新条目。您可以通过从控制台发出 rescan reloadxml
命令来将新网关添加到 FreeSWITCH,如下例所示。这将加载新创建的网关,并且不会影响当前启动的任何呼叫。
sofia profile external rescan reloadxml
您现在意识到您搞砸了新网关中的 IP 地址,需要更改它。因此,您编辑网关文件并进行所需的任何更改。然后,您需要发出以下命令来销毁网关,然后让 FreeSWITCH 重新加载更改,同时影响当前启动的任何现有调用。
sofia profile external killgw <gateway_name>
sofia profile external rescan reloadxml
查看 SIP 注册
您可以通过从控制台运行以下命令来查看所有已注册的设备。
sofia status profile <profile name> reg
sofia status profile default reg
sofia status profile outbound reg
您还可以使用 xmlstatus 来以 XML 格式检索状态。如果您使用 mod_xml_rpc,这将特别有用。
sofia xmlstatus profile <profile name> reg
sofia xmlstatus profile default reg
sofia xmlstatus profile outbound reg
列出网关的状态
对于服务中的网关:
sofia profile <profile> gwlist up
对于停止服务的网关:
sofia profile <profile> gwlist down
查看网关中的变量
要检索入站变量的值:
sofia_gateway_data <网关名称> ivar <名称>
要检索出站变量的值:
sofia_gateway_data <网关名称> ovar <名称>
要检索任一用途的值:
sofia_gateway_data <网关名称> var <名称>
这首先检查入站变量,然后在没有匹配的入站时检查出站变量。
查看用户状态数据
显示来自已注册设备的状态数据,如服务器所见
sofia_presence_data [list|status|rpid|user_agent] [profile/]<user>@domain
例:
sofia_presence_data list */2005
status|rpid|user_agent|network_ip|network_port
Away|away|Bria 3 release 3.5.1 stamp 69738|192.168.20.150|21368
+OK
您可以在拨号方案中使用此值,例如
<extension name="12005">
<condition field="destination_number" expression="^(12005)$" require-nested="false">
<condition field="${sofia_presence_data status */2005@${domain}}" expression="^(Busy)$">
<action application="playback" data="ivr/8000/ivr-user_busy.wav"/>
<action application="hangup"/>
</condition>
<action application="bridge" data="user/2005@${domain_name}"/>
</condition>
</extension>
- 分类: FreeSWITCH FreeSWITCH学习 呼叫中心
- 标签: FreeSWITCH