REFER sip:mod_sofia@10.2.32.90:5080 SIP/2.0 Via: SIP/2.0/UDP 10.2.32.116:5080;rport;branch=z9hG4bKryvUZZerH16DN From: <sip:449998@10.2.32.116:5080>;tag=XH27mSc4ZyjaF To: "Extension 296898" <sip:296898@10.2.32.90>;tag=6g430SNK5Be3m Call-ID: 46eda73c-76b2-1239-e1b5-487b6b8ad630 Contact: <sip:449998@10.2.32.116:5080;transport=udp> Refer-To: <sip:296896@test.refer.com?User-to-User=00C82b264F7267416E693D3131313337303035303030303139393433333634264F7267446E69733D333030393637%3Bencoding%3Dhex> Referred-By: <sip:10.2.32.116:5080> User-to-User: 00C8426613D31%3Bencoding%3Dhex INVITE sip:296896@10.32.26.19:50078;rinstance=b4e528536c8c5a3d SIP/2.0 Via: SIP/2.0/UDP 10.2.32.90;rport;branch=z9hG4bKtK4yS4SH849vD Route: <sip:296896@10.32.26.19:50078>;rinstance=b4e528536c8c5a3d From: "Extension 296898" <sip:296898@10.2.32.90>;tag=ymDeQZt2ZcK1B To: <sip:296896@10.32.26.19:50078;rinstance=b4e528536c8c5a3d> Call-ID: 4992bbb6-76b2-1239-e1b5-487b6b8ad630 Contact: <sip:mod_sofia@10.2.32.90:5060> Referred-By: <sip:10.2.32.116:5080> User-to-User: 00C8426613D31%3Bencoding%3Dhex Remote-Party-ID: "Extension 296898" <sip:296898@10.2.32.90>;party=calling;screen=yes;privacy=off
<extension name="refer request" continue="true"> <condition field="${sip_refer_to}" expression=".+User-to-User=(.+)%3B"> <action application="log" data="INFO yuxiu:change User-to-User by sip_refer_to : sip_refer-to [$1]"/> <action application="export" data="nolocal:sip_h_User-to-User=$1;encoding=hex"/> </condition> </extension>
REFER sip:mod_sofia@10.2.32.90:5080 SIP/2.0 From: <sip:449998@10.2.32.116:5080>;tag=XH27mSc4ZyjaF To: "Extension 296898" <sip:296898@10.2.32.90>;tag=6g430SNK5Be3m Refer-To: <sip:296896@test.refer.com?User-to-User=00C82b264F7267416E693D3131313337303035303030303139393433333634264F7267446E69733D333030393637%3Bencoding%3Dhex> User-to-User: 00C8426613D31%3Bencoding%3Dhex INVITE sip:296896@10.32.26.19:50078;rinstance=b4e528536c8c5a3d SIP/2.0 From: "Extension 296898" <sip:296898@10.2.32.90>;tag=ymDeQZt2ZcK1B To: <sip:296896@10.32.26.19:50078;rinstance=b4e528536c8c5a3d> User-to-User: 00C82b264F7267416E693D3131313337303035303030303139393433333634264F7267446E69733D333030393637%3Bencoding%3Dhex Remote-Party-ID: "Extension 296898" <sip:296898@10.2.32.90>;party=calling;screen=yes;privacy=off
4、模擬的呼叫場景:express
<!-- 處理refer消息頭 --> <extension name="refer request" continue="true"> <condition field="${sip_refer_to}" expression=".+User-to-User=(.+)%3B"> <action application="log" data="WARNING yuxiu:change User-to-User by sip_refer_to : sip_refer-to [$1]"/> <action application="export" data="nolocal:sip_h_User-to-User=$1;encoding=hex"/> </condition> </extension> <!-- 模擬呼叫IVR --> <extension name="outbound-ivr"> <condition field="destination_number" expression="^(449998)$"> <action application="bridge" data="sofia/external/$1@10.2.32.116:5080"/> <action application="hangup" data="Esl Server ERROR"/> </condition> </extension> <!-- 模擬呼叫PBX分機 --> <extension name="outbound-pbx"> <condition field="destination_number" expression="^(296\d{3})$"> <action application="bridge" data="user/${1}"/> <action application="hangup" data="Esl Server ERROR"/> </condition> </extension>
<extension name="outbound-test2"> <condition field="destination_number" expression="^449998$"> <action application="log" data="INFO uui=${sip_h_User-to-User}"/> <action application="answer"/> <action application="playback" data="/usr/local/freeswitch/sounds/welcom_to_call_yuxiu_ivr.wav"/> <action application="deflect" data="sip:296896@test.refer.com?User-to-User=00C82b264F7267416E693D3131313337303035303030303139393433333634264F7267446E69733D333030393637%3Bencoding%3Dhex"/> <action application="log" data="WARNING refer finished"/> <action application="hangup" data="refer finished"/> </condition> </extension>
4.三、FS測試日誌服務器
EXECUTE sofia/internal/296898@10.2.32.90 bridge(sofia/external_90/449998@10.2.32.116:5080) [DEBUG] sofia.c:8544 Process REFER to [296896@test.refer.com] [INFO] mod_dialplan_xml.c:637 Processing 296898 <296898>->296896 in context default EXECUTE sofia/internal/296898@10.2.32.90 bridge(user/296896)