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 ׼ʱ" 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
- FreeSwitch中使用HTTP服务接受话单
- Android中使用HTTP服务
- Android中使用HTTP服务
- Android中使用HTTP服务
- Android中使用HTTP服务
- Android中使用HTTP服务
- Android中使用HTTP服务
- Android中使用HTTP服务
- Android中使用HTTP服务
- Android中使用HTTP服务
- Android中使用HTTP服务
- Android中使用HTTP服务
- Android中使用HTTP服务
- Android中使用HTTP服务
- Android中使用HTTP服务
- Android中使用HTTP服务
- Android中使用HTTP服务
- Android中使用HTTP服务
- bzoj3925 地震后的幻想乡 子集Dp
- Salesforce Process Builder - 进程生成器
- 《Android开发艺术探索》读书笔记——IPC机制
- docker
- Linux(2)---Crtl+z与Crtl+c
- FreeSwitch中使用HTTP服务接受话单
- IOS公司开发者账号申请详细教程
- IOS_可移动的UIImageView(随手指移动)
- AnnotationConfigBeanDefinitionParser are only available on JDK 1.5 and higher
- Android ListView异步加载图片乱序问题,原因分析及解决方案(一)
- 指向结构体的指针必须初始化
- Android性能优化典范(转载)
- 仿微信图片选择器
- Django Xadmin安装