FreeSwitch中使用HTTP服务接受话单

来源:互联网 发布:淘宝直播怎么介绍自己 编辑:程序博客网 时间:2024/05/02 01:35

FreeSwitch支持将话单写入远程的HTTP服务器,在哪里你可以使用任何喜欢的编程语言处理话单以及写入任何可能的数据库。有三个模块可以实现他:mod_xml_cdr、mod_json_cdr以及mod_format_cdr。前两者分别产生xml和json格式的话单,最后一个模块则可配置产生XML或JSON格式的话单。

使用mod_xml_cdr为例:

① 在C:\Program Files\FreeSWITCH\conf\autoload_configs\modules.conf.xml中释放<load module="mod_xml_cdr"/> 的注释。
② C:\Program Files\FreeSWITCH\conf\autoload_configs\xml_cdr.conf.xml中修改注释,将
<param name="url" value="http://localhost:7786/huaDan/postHuaDan"/>中的value指向你的HTTP服务器地址。

这里写图片描述
③ 启动HTTP服务,接受http请求,其中参数会带有一个uuid,如下:
uri:/huaDan/postHuaDan?uuid=a_6f644233-fcae-46bb-ad45-74838a9c51ab。
得到的XML文件大致如下:

<?xml version="1.0"?><cdr core-uuid="2df5304f-b9b6-456b-8d6c-2dd01afd7771" switchname="bh">  <channel_data>    <state>CS_REPORTING</state>    <direction>inbound</direction>    <state_number>11</state_number>    <flags>0=1;1=1;3=1;36=1;37=1;39=1;42=1;47=1;52=1;73=1;110=1;111=1;115=1;117=1</flags>    <caps>1=1;2=1;3=1;4=1;5=1;6=1</caps>  </channel_data>  <variables>    <direction>inbound</direction>    <uuid>6f644233-fcae-46bb-ad45-74838a9c51ab</uuid>    <session_id>1</session_id>    <sip_from_user>1000</sip_from_user>    <sip_from_uri>1000%40192.168.0.100</sip_from_uri>    <sip_from_host>192.168.0.100</sip_from_host>    <channel_name>sofia/internal/1000%40192.168.0.100</channel_name>    <ep_codec_string>PCMU%408000h%4020i%4064000b,PCMA%408000h%4020i%4064000b,G722%408000h%4020i%4064000b</ep_codec_string>    <sip_local_network_addr>192.163.20.15</sip_local_network_addr>    <sip_network_ip>192.168.0.20</sip_network_ip>    <sip_network_port>5062</sip_network_port>    <sip_received_ip>192.168.0.20</sip_received_ip>    <sip_received_port>5062</sip_received_port>    <sip_via_protocol>udp</sip_via_protocol>    <sip_authorized>true</sip_authorized>    <Event-Name>REQUEST_PARAMS</Event-Name>    <Core-UUID>2df5304f-b9b6-456b-8d6c-2dd01afd7771</Core-UUID>    <FreeSWITCH-Hostname>bh</FreeSWITCH-Hostname>    <FreeSWITCH-Switchname>bh</FreeSWITCH-Switchname>    <FreeSWITCH-IPv4>192.168.0.100</FreeSWITCH-IPv4>    <FreeSWITCH-IPv6>2001%3A0%3A9d38%3A90d7%3A8ab%3A247b%3A84b6%3Af736</FreeSWITCH-IPv6>    <Event-Date-Local>2016-02-29%2015%3A55%3A12</Event-Date-Local>    <Event-Date-GMT>Mon,%2029%20Feb%202016%2007%3A55%3A12%20GMT</Event-Date-GMT>    <Event-Date-Timestamp>1456732512842166</Event-Date-Timestamp>    <Event-Calling-File>sofia.c</Event-Calling-File>    <Event-Calling-Function>sofia_handle_sip_i_invite</Event-Calling-Function>    <Event-Calling-Line-Number>9042</Event-Calling-Line-Number>    <Event-Sequence>577</Event-Sequence>    <sip_number_alias>1000</sip_number_alias>    <sip_auth_username>1000</sip_auth_username>    <sip_auth_realm>192.168.0.100</sip_auth_realm>    <number_alias>1000</number_alias>    <requested_domain_name>192.168.0.100</requested_domain_name>    <toll_allow>domestic,international,local</toll_allow>    <accountcode>1000</accountcode>    <user_context>default</user_context>    <directory-visible>true</directory-visible>    <directory-exten-visible>true</directory-exten-visible>    <limit_max>1</limit_max>    <effective_caller_id_name>Extension%201000</effective_caller_id_name>    <effective_caller_id_number>1000</effective_caller_id_number>    <outbound_caller_id_name>1000</outbound_caller_id_name>    <outbound_caller_id_number>1000</outbound_caller_id_number>    <callgroup>techsupport</callgroup>    <user_name>1000</user_name>    <domain_name>192.168.0.100</domain_name>    <sip_from_user_stripped>1000</sip_from_user_stripped>    <sofia_profile_name>internal</sofia_profile_name>    <recovery_profile_name>internal</recovery_profile_name>    <sip_req_user>1002</sip_req_user>    <sip_req_uri>1002%40192.168.0.100</sip_req_uri>    <sip_req_host>192.168.0.100</sip_req_host>    <sip_to_user>1002</sip_to_user>    <sip_to_uri>1002%40192.168.0.100</sip_to_uri>    <sip_to_host>192.168.0.100</sip_to_host>    <sip_contact_user>1000</sip_contact_user>    <sip_contact_port>5062</sip_contact_port>    <sip_contact_uri>1000%40192.168.0.20%3A5062</sip_contact_uri>    <sip_contact_host>192.168.0.20</sip_contact_host>    <sip_user_agent>Yealink%20SIP-T20P%209.60.0.100</sip_user_agent>    <sip_via_host>192.168.0.20</sip_via_host>    <sip_via_port>5062</sip_via_port>    <max_forwards>70</max_forwards>    <presence_id>1000%40192.168.0.100</presence_id>    <DP_MATCH>1002</DP_MATCH>    <DP_MATCH>1002</DP_MATCH>    <call_uuid>6f644233-fcae-46bb-ad45-74838a9c51ab</call_uuid>    <open>true</open>    <RFC2822_DATE>Mon,%2029%20Feb%202016%2015%3A55%3A23%20%D6%D0%B9%FA%B1%EA%D7%BC%CA%B1%BC%E4</RFC2822_DATE>    <dialed_extension>1002</dialed_extension>    <export_vars>RFC2822_DATE,dialed_extension</export_vars>    <ringback>%25(2000,4000,440,480)</ringback>    <transfer_ringback>local_stream%3A//moh</transfer_ringback>    <call_timeout>30</call_timeout>    <hangup_after_bridge>true</hangup_after_bridge>    <continue_on_fail>true</continue_on_fail>    <called_party_callgroup>techsupport</called_party_callgroup>    <current_application_data>user/1002%40192.168.0.100</current_application_data>    <current_application>bridge</current_application>    <dialed_user>1002</dialed_user>    <dialed_domain>192.168.0.100</dialed_domain>    <inherit_codec>true</inherit_codec>    <originated_legs>aa90679c-63f2-4f4b-8772-374ac781ce84%3BOutbound%20Call%3B1002</originated_legs>    <originated_legs>aa90679c-63f2-4f4b-8772-374ac781ce84%3BOutbound%20Call%3B1002</originated_legs>    <rtp_use_codec_string>OPUS,G722,PCMU,PCMA,GSM</rtp_use_codec_string>    <rtp_use_codec_name>PCMU</rtp_use_codec_name>    <rtp_use_codec_rate>8000</rtp_use_codec_rate>    <rtp_use_codec_ptime>20</rtp_use_codec_ptime>    <rtp_use_codec_channels>1</rtp_use_codec_channels>    <rtp_last_audio_codec_string>PCMU%408000h%4020i%401c</rtp_last_audio_codec_string>    <original_read_codec>PCMU</original_read_codec>    <original_read_rate>8000</original_read_rate>    <write_codec>PCMU</write_codec>    <write_rate>8000</write_rate>    <local_media_ip>192.168.0.100</local_media_ip>    <local_media_port>20556</local_media_port>    <advertised_media_ip>192.168.0.100</advertised_media_ip>    <rtp_use_timer_name>soft</rtp_use_timer_name>    <rtp_use_pt>0</rtp_use_pt>    <rtp_use_ssrc>1511053776</rtp_use_ssrc>    <switch_m_sdp>v%3D0%0D%0Ao%3D-%201094888251%203%20IN%20IP4%20192.168.0.100%0D%0As%3DX-Lite%20release%204.9.2%20stamp%2079048%0D%0Ac%3DIN%20IP4%20192.168.0.100%0D%0At%3D0%200%0D%0Am%3Daudio%2059748%20RTP/AVP%200%208%209%20101%0D%0Aa%3Drtpmap%3A101%20telephone-event/8000%0D%0Aa%3Dfmtp%3A101%200-15%0D%0A</switch_m_sdp>    <read_codec>PCMU</read_codec>    <read_rate>8000</read_rate>    <endpoint_disposition>ANSWER</endpoint_disposition>    <originate_causes>aa90679c-63f2-4f4b-8772-374ac781ce84%3BNONE</originate_causes>    <originate_causes>aa90679c-63f2-4f4b-8772-374ac781ce84%3BNONE</originate_causes>    <originate_disposition>SUCCESS</originate_disposition>    <DIALSTATUS>SUCCESS</DIALSTATUS>    <last_bridge_to>aa90679c-63f2-4f4b-8772-374ac781ce84</last_bridge_to>    <bridge_channel>sofia/internal/sip%3A1002%40192.168.0.100%3A57122</bridge_channel>    <bridge_uuid>aa90679c-63f2-4f4b-8772-374ac781ce84</bridge_uuid>    <signal_bond>aa90679c-63f2-4f4b-8772-374ac781ce84</signal_bond>    <sip_to_tag>8tyD0r3gy0H5D</sip_to_tag>    <sip_from_tag>1290347537</sip_from_tag>    <sip_cseq>2</sip_cseq>    <sip_call_id>1978807484%40192.168.0.20</sip_call_id>    <sip_full_via>SIP/2.0/UDP%20192.168.0.20%3A5062%3Bbranch%3Dz9hG4bK1893176347</sip_full_via>    <sip_from_display>1000</sip_from_display>    <sip_full_from>%221000%22%20%3Csip%3A1000%40192.168.0.100%3E%3Btag%3D1290347537</sip_full_from>    <sip_full_to>%3Csip%3A1002%40192.168.0.100%3E%3Btag%3D8tyD0r3gy0H5D</sip_full_to>    <last_sent_callee_id_name>Outbound%20Call</last_sent_callee_id_name>    <last_sent_callee_id_number>1002</last_sent_callee_id_number>    <switch_r_sdp>v%3D0%0D%0Ao%3D-%2020019%2020020%20IN%20IP4%20192.168.0.20%0D%0As%3DSDP%20data%0D%0Ac%3DIN%20IP4%20192.168.0.20%0D%0At%3D0%200%0D%0Am%3Daudio%2011796%20RTP/AVP%200%20101%0D%0Aa%3Drtpmap%3A0%20PCMU/8000%0D%0Aa%3Drtpmap%3A101%20telephone-event/8000%0D%0Aa%3Dfmtp%3A101%200-15%0D%0Aa%3Dptime%3A20%0D%0A</switch_r_sdp>    <remote_media_ip>192.168.0.20</remote_media_ip>    <remote_media_port>11796</remote_media_port>    <rtp_audio_recv_pt>0</rtp_audio_recv_pt>    <dtmf_type>rfc2833</dtmf_type>    <rtp_2833_send_payload>101</rtp_2833_send_payload>    <rtp_2833_recv_payload>101</rtp_2833_recv_payload>    <rtp_local_sdp_str>v%3D0%0Ao%3DFreeSWITCH%201456711968%201456711971%20IN%20IP4%20192.168.0.100%0As%3DFreeSWITCH%0Ac%3DIN%20IP4%20192.168.0.100%0At%3D0%200%0Am%3Daudio%2020556%20RTP/AVP%200%20101%0Aa%3Drtpmap%3A0%20PCMU/8000%0Aa%3Drtpmap%3A101%20telephone-event/8000%0Aa%3Dfmtp%3A101%200-16%0Aa%3Dptime%3A20%0Aa%3Dsendrecv%0A</rtp_local_sdp_str>    <zrtp_secure_media_confirmed_audio>false</zrtp_secure_media_confirmed_audio>    <last_bridge_hangup_cause>MEDIA_TIMEOUT</last_bridge_hangup_cause>    <bridge_hangup_cause>MEDIA_TIMEOUT</bridge_hangup_cause>    <hangup_cause>MEDIA_TIMEOUT</hangup_cause>    <hangup_cause_q850>16</hangup_cause_q850>    <digits_dialed>none</digits_dialed>    <start_stamp>2016-02-29%2015%3A55%3A12</start_stamp>    <profile_start_stamp>2016-02-29%2015%3A55%3A12</profile_start_stamp>    <answer_stamp>2016-02-29%2015%3A55%3A26</answer_stamp>    <bridge_stamp>2016-02-29%2015%3A55%3A26</bridge_stamp>    <progress_stamp>2016-02-29%2015%3A55%3A24</progress_stamp>    <progress_media_stamp>2016-02-29%2015%3A55%3A24</progress_media_stamp>    <end_stamp>2016-02-29%2016%3A00%3A26</end_stamp>    <start_epoch>1456732512</start_epoch>    <start_uepoch>1456732512981174</start_uepoch>    <profile_start_epoch>1456732512</profile_start_epoch>    <profile_start_uepoch>1456732512981174</profile_start_uepoch>    <answer_epoch>1456732526</answer_epoch>    <answer_uepoch>1456732526001422</answer_uepoch>    <bridge_epoch>1456732526</bridge_epoch>    <bridge_uepoch>1456732526001422</bridge_uepoch>    <last_hold_epoch>0</last_hold_epoch>    <last_hold_uepoch>0</last_hold_uepoch>    <hold_accum_seconds>0</hold_accum_seconds>    <hold_accum_usec>0</hold_accum_usec>    <hold_accum_ms>0</hold_accum_ms>    <resurrect_epoch>0</resurrect_epoch>    <resurrect_uepoch>0</resurrect_uepoch>    <progress_epoch>1456732524</progress_epoch>    <progress_uepoch>1456732524001821</progress_uepoch>    <progress_media_epoch>1456732524</progress_media_epoch>    <progress_media_uepoch>1456732524261836</progress_media_uepoch>    <end_epoch>1456732826</end_epoch>    <end_uepoch>1456732826020889</end_uepoch>    <last_app>bridge</last_app>    <last_arg>user/1002%40192.168.0.100</last_arg>    <caller_id>%221000%22%20%3C1000%3E</caller_id>    <duration>314</duration>    <billsec>300</billsec>    <progresssec>12</progresssec>    <answersec>14</answersec>    <waitsec>14</waitsec>    <progress_mediasec>12</progress_mediasec>    <flow_billsec>314</flow_billsec>    <mduration>313039</mduration>    <billmsec>300019</billmsec>    <progressmsec>11020</progressmsec>    <answermsec>13020</answermsec>    <waitmsec>13020</waitmsec>    <progress_mediamsec>11280</progress_mediamsec>    <flow_billmsec>313039</flow_billmsec>    <uduration>313039715</uduration>    <billusec>300019467</billusec>    <progressusec>11020647</progressusec>    <answerusec>13020248</answerusec>    <waitusec>13020248</waitusec>    <progress_mediausec>11280662</progress_mediausec>    <flow_billusec>313039715</flow_billusec>    <sip_hangup_disposition>send_bye</sip_hangup_disposition>    <rtp_audio_in_raw_bytes>2591708</rtp_audio_in_raw_bytes>    <rtp_audio_in_media_bytes>2591192</rtp_audio_in_media_bytes>    <rtp_audio_in_packet_count>15069</rtp_audio_in_packet_count>    <rtp_audio_in_media_packet_count>15066</rtp_audio_in_media_packet_count>    <rtp_audio_in_skip_packet_count>19</rtp_audio_in_skip_packet_count>    <rtp_audio_in_jitter_packet_count>0</rtp_audio_in_jitter_packet_count>    <rtp_audio_in_dtmf_packet_count>0</rtp_audio_in_dtmf_packet_count>    <rtp_audio_in_cng_packet_count>0</rtp_audio_in_cng_packet_count>    <rtp_audio_in_flush_packet_count>3</rtp_audio_in_flush_packet_count>    <rtp_audio_in_largest_jb_size>0</rtp_audio_in_largest_jb_size>    <rtp_audio_in_jitter_min_variance>0.72</rtp_audio_in_jitter_min_variance>    <rtp_audio_in_jitter_max_variance>400.00</rtp_audio_in_jitter_max_variance>    <rtp_audio_in_jitter_loss_rate>0.00</rtp_audio_in_jitter_loss_rate>    <rtp_audio_in_jitter_burst_rate>0.00</rtp_audio_in_jitter_burst_rate>    <rtp_audio_in_mean_interval>20.00</rtp_audio_in_mean_interval>    <rtp_audio_in_flaw_total>0</rtp_audio_in_flaw_total>    <rtp_audio_in_quality_percentage>100.00</rtp_audio_in_quality_percentage>    <rtp_audio_in_mos>4.50</rtp_audio_in_mos>    <rtp_audio_out_raw_bytes>13932</rtp_audio_out_raw_bytes>    <rtp_audio_out_media_bytes>13932</rtp_audio_out_media_bytes>    <rtp_audio_out_packet_count>81</rtp_audio_out_packet_count>    <rtp_audio_out_media_packet_count>81</rtp_audio_out_media_packet_count>    <rtp_audio_out_skip_packet_count>0</rtp_audio_out_skip_packet_count>    <rtp_audio_out_dtmf_packet_count>0</rtp_audio_out_dtmf_packet_count>    <rtp_audio_out_cng_packet_count>0</rtp_audio_out_cng_packet_count>    <rtp_audio_rtcp_packet_count>0</rtp_audio_rtcp_packet_count>    <rtp_audio_rtcp_octet_count>0</rtp_audio_rtcp_octet_count>  </variables>  <app_log>    <application app_name="set" app_data="open=true" app_stamp="1456732513016175"></application>    <application app_name="log" app_data="CRIT WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING " app_stamp="1456732513017176"></application>    <application app_name="log" app_data="CRIT Open C:/Program Files/FreeSWITCH/conf/vars.xml and change the default_password." app_stamp="1456732513017176"></application>    <application app_name="log" app_data="CRIT Once changed type 'reloadxml' at the console." app_stamp="1456732513018177"></application>    <application app_name="log" app_data="CRIT WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING " app_stamp="1456732513018177"></application>    <application app_name="sleep" app_data="10000" app_stamp="1456732513018177"></application>    <application app_name="hash" app_data="insert/192.168.0.100-spymap/1000/6f644233-fcae-46bb-ad45-74838a9c51ab" app_stamp="1456732523525791"></application>    <application app_name="hash" app_data="insert/192.168.0.100-last_dial/1000/1002" app_stamp="1456732523526792"></application>    <application app_name="hash" app_data="insert/192.168.0.100-last_dial/global/6f644233-fcae-46bb-ad45-74838a9c51ab" app_stamp="1456732523527792"></application>    <application app_name="export" app_data="RFC2822_DATE=Mon, 29 Feb 2016 15:55:23 &#x5FC;&#x2B1;" app_stamp="1456732523528792"></application>    <application app_name="export" app_data="dialed_extension=1002" app_stamp="1456732523528792"></application>    <application app_name="bind_meta_app" app_data="1 b s execute_extension::dx XML features" app_stamp="1456732523529793"></application>    <application app_name="bind_meta_app" app_data="2 b s record_session::C:/Program Files/FreeSWITCH/recordings/1000.2016-02-29-15-55-23.wav" app_stamp="1456732523551793"></application>    <application app_name="bind_meta_app" app_data="3 b s execute_extension::cf XML features" app_stamp="1456732523551793"></application>    <application app_name="bind_meta_app" app_data="4 b s execute_extension::att_xfer XML features" app_stamp="1456732523552795"></application>    <application app_name="set" app_data="ringback=%(2000,4000,440,480)" app_stamp="1456732523553793"></application>    <application app_name="set" app_data="transfer_ringback=local_stream://moh" app_stamp="1456732523554793"></application>    <application app_name="set" app_data="call_timeout=30" app_stamp="1456732523554793"></application>    <application app_name="set" app_data="hangup_after_bridge=true" app_stamp="1456732523555793"></application>    <application app_name="set" app_data="continue_on_fail=true" app_stamp="1456732523556793"></application>    <application app_name="hash" app_data="insert/192.168.0.100-call_return/1002/1000" app_stamp="1456732523557794"></application>    <application app_name="hash" app_data="insert/192.168.0.100-last_dial_ext/1002/6f644233-fcae-46bb-ad45-74838a9c51ab" app_stamp="1456732523557794"></application>    <application app_name="set" app_data="called_party_callgroup=techsupport" app_stamp="1456732523578796"></application>    <application app_name="hash" app_data="insert/192.168.0.100-last_dial_ext/techsupport/6f644233-fcae-46bb-ad45-74838a9c51ab" app_stamp="1456732523579795"></application>    <application app_name="hash" app_data="insert/192.168.0.100-last_dial_ext/global/6f644233-fcae-46bb-ad45-74838a9c51ab" app_stamp="1456732523580795"></application>    <application app_name="hash" app_data="insert/192.168.0.100-last_dial/techsupport/6f644233-fcae-46bb-ad45-74838a9c51ab" app_stamp="1456732523581795"></application>    <application app_name="bridge" app_data="user/1002@192.168.0.100" app_stamp="1456732523581795"></application>  </app_log>  <callflow dialplan="XML" unique-id="46e666c6-92b7-4c3e-a9db-af1fc3e62c9d" profile_index="1">    <extension name="tod_example" number="1002" current_app="answer">      <application app_name="set" app_data="open=true"></application>      <application app_name="log" app_data="CRIT WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING "></application>      <application app_name="log" app_data="CRIT Open C:/Program Files/FreeSWITCH/conf/vars.xml and change the default_password."></application>      <application app_name="log" app_data="CRIT Once changed type 'reloadxml' at the console."></application>      <application app_name="log" app_data="CRIT WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING "></application>      <application app_name="sleep" app_data="10000"></application>      <application app_name="hash" app_data="insert/${domain_name}-spymap/${caller_id_number}/${uuid}"></application>      <application app_name="hash" app_data="insert/${domain_name}-last_dial/${caller_id_number}/${destination_number}"></application>      <application app_name="hash" app_data="insert/${domain_name}-last_dial/global/${uuid}"></application>      <application app_name="export" app_data="RFC2822_DATE=${strftime(%a, %d %b %Y %T %z)}"></application>      <application app_name="export" app_data="dialed_extension=1002"></application>      <application app_name="bind_meta_app" app_data="1 b s execute_extension::dx XML features"></application>      <application app_name="bind_meta_app" app_data="2 b s record_session::C:/Program Files/FreeSWITCH/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"></application>      <application app_name="bind_meta_app" app_data="3 b s execute_extension::cf XML features"></application>      <application app_name="bind_meta_app" app_data="4 b s execute_extension::att_xfer XML features"></application>      <application app_name="set" app_data="ringback=${us-ring}"></application>      <application app_name="set" app_data="transfer_ringback=local_stream://moh"></application>      <application app_name="set" app_data="call_timeout=30"></application>      <application app_name="set" app_data="hangup_after_bridge=true"></application>      <application app_name="set" app_data="continue_on_fail=true"></application>      <application app_name="hash" app_data="insert/${domain_name}-call_return/${dialed_extension}/${caller_id_number}"></application>      <application app_name="hash" app_data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"></application>      <application app_name="set" app_data="called_party_callgroup=${user_data(${dialed_extension}@${domain_name} var callgroup)}"></application>      <application app_name="hash" app_data="insert/${domain_name}-last_dial_ext/${called_party_callgroup}/${uuid}"></application>      <application app_name="hash" app_data="insert/${domain_name}-last_dial_ext/global/${uuid}"></application>      <application app_name="hash" app_data="insert/${domain_name}-last_dial/${called_party_callgroup}/${uuid}"></application>      <application app_name="bridge" app_data="user/${dialed_extension}@${domain_name}"></application>      <application last_executed="true" app_name="answer" app_data=""></application>      <application app_name="sleep" app_data="1000"></application>      <application app_name="bridge" app_data="loopback/app=voicemail:default ${domain_name} ${dialed_extension}"></application>    </extension>    <caller_profile>      <username>1000</username>      <dialplan>XML</dialplan>      <caller_id_name>1000</caller_id_name>      <caller_id_number>1000</caller_id_number>      <callee_id_name>Outbound Call</callee_id_name>      <callee_id_number>1002</callee_id_number>      <ani>1000</ani>      <aniii></aniii>      <network_addr>192.168.0.20</network_addr>      <rdnis></rdnis>      <destination_number>1002</destination_number>      <uuid>6f644233-fcae-46bb-ad45-74838a9c51ab</uuid>      <source>mod_sofia</source>      <context>default</context>      <chan_name>sofia/internal/1000@192.168.0.100</chan_name>      <origination>        <origination_caller_profile>          <username>1000</username>          <dialplan>XML</dialplan>          <caller_id_name>Extension 1000</caller_id_name>          <caller_id_number>1000</caller_id_number>          <callee_id_name>Outbound Call</callee_id_name>          <callee_id_number>1002</callee_id_number>          <ani>1000</ani>          <aniii></aniii>          <network_addr>192.168.0.100</network_addr>          <rdnis></rdnis>          <destination_number>1002</destination_number>          <uuid>aa90679c-63f2-4f4b-8772-374ac781ce84</uuid>          <source>mod_sofia</source>          <context>default</context>          <chan_name>sofia/internal/sip:1002@192.168.0.100:57122</chan_name>        </origination_caller_profile>        <origination_caller_profile>          <username>1000</username>          <dialplan>XML</dialplan>          <caller_id_name>Extension 1000</caller_id_name>          <caller_id_number>1000</caller_id_number>          <callee_id_name>Outbound Call</callee_id_name>          <callee_id_number>1002</callee_id_number>          <ani>1000</ani>          <aniii></aniii>          <network_addr>192.168.0.20</network_addr>          <rdnis></rdnis>          <destination_number>1002</destination_number>          <uuid>aa90679c-63f2-4f4b-8772-374ac781ce84</uuid>          <source>mod_sofia</source>          <context>default</context>          <chan_name>sofia/internal/sip:1002@192.168.0.100:57122</chan_name>        </origination_caller_profile>      </origination>      <originatee>        <originatee_caller_profile>          <username>1000</username>          <dialplan>XML</dialplan>          <caller_id_name>Extension 1000</caller_id_name>          <caller_id_number>1000</caller_id_number>          <callee_id_name>Outbound Call</callee_id_name>          <callee_id_number>1002</callee_id_number>          <ani>1000</ani>          <aniii></aniii>          <network_addr>192.168.0.100</network_addr>          <rdnis></rdnis>          <destination_number>1002</destination_number>          <uuid>aa90679c-63f2-4f4b-8772-374ac781ce84</uuid>          <source>mod_sofia</source>          <context>default</context>          <chan_name>sofia/internal/sip:1002@192.168.0.100:57122</chan_name>        </originatee_caller_profile>        <originatee_caller_profile>          <username>1000</username>          <dialplan>XML</dialplan>          <caller_id_name>Extension 1000</caller_id_name>          <caller_id_number>1000</caller_id_number>          <callee_id_name>Outbound Call</callee_id_name>          <callee_id_number>1002</callee_id_number>          <ani>1000</ani>          <aniii></aniii>          <network_addr>192.168.0.100</network_addr>          <rdnis></rdnis>          <destination_number>1002</destination_number>          <uuid>aa90679c-63f2-4f4b-8772-374ac781ce84</uuid>          <source>mod_sofia</source>          <context>default</context>          <chan_name>sofia/internal/sip:1002@192.168.0.100:57122</chan_name>        </originatee_caller_profile>      </originatee>    </caller_profile>    <times>      <created_time>1456732512981174</created_time线程名:pool-1-thread-1>      <profile_created_time>1456732512981174</profile_created_time>      <progress_time>1456732524001821</progress_time>      <progress_media_time>1456732524261836</progress_media_time>      <answered_time>1456732526001422</answered_time>      <bridged_time>1456732526001422</bridged_time>      <last_hold_time>0</last_hold_time>      <hold_accum_time>0</hold_accum_time>      <hangup_time>1456732826020889</hangup_time>      <resurrect_time>0</resurrect_time>      <transfer_time>0</transfer_time>    </times>  </callflow></cdr>

Xml中部分参数详细讲解见:https://freeswitch.org/confluence/display/FREESWITCH/mod_xml_cdr

0 0
原创粉丝点击