[Freeswitch-users] dialplan is not run on the refer!

Sayyed Mohammad Emami Razavi emamirazavi at gmail.com
Mon Jan 20 18:47:32 MSK 2014


Hello my friends,
Have you any solution for this question?!
This is my problem too!
I transfer my user to the trunk_2 and when trunk_2 transfers user's
call to me with REFER dialplan is not run on this refer. I just read
unbridged event after these lines!
Some lines read:

recv 740 bytes from udp/[21.21.21.21]:8090 at 13:12:05.487698:
   ------------------------------------------------------------------------
   REFER sip:gw+trunk_2 at 31.31.31.31:5080;transport=udp;gw=trunk_2 SIP/2.0
   From: <sip:10*7 at 21.21.21.21:8090>;tag=59f12d0-33001dac-1f9a-50022-2a4164-6d86d248-2a4164
   To: "Outbound Call"<sip:2001 at 31.31.31.31>;tag=Uca68tZ82mD4c
   Call-ID: 46945c1e-fc77-1231-f18a-000c29ae8315
   CSeq: 1 REFER
   Via: SIP/2.0/UDP 172.29.0.51:8090;branch=z9hG4bK-2a416d-a50f9461-58324ac0
   Refer-To: <sip:10*2*4*0 at 31.31.31.31:5080>
   Referred-By: <sip:10*7 at 21.21.21.21:8090>
   Max-Forwards: 70
   Supported: replaces
   Contact: <sip:10*7 at 21.21.21.21:8090>
   Allow: INVITE, CANCEL, ACK, BYE, OPTIONS, INFO, REFER, NOTIFY
   Allow-Events: refer
   Content-Length: 0

   ------------------------------------------------------------------------
tport.c:3004 tport_deliver() tport_deliver(0x7f69600043f0): msg
0x7f69600144f0 (740 bytes) from udp/21.21.21.21:5080/sip next=(nil)
nta.c:2803 agent_recv_request() nta: received REFER
sip:gw+trunk_2 at 31.31.31.31:5080;transport=udp;gw=trunk_2 SIP/2.0 (CSeq
1)
nta.c:3090 agent_check_request_via() nta: Via check: received=21.21.21.21
nta.c:3161 agent_aliases() nta: canonizing
sip:gw+trunk_2 at 31.31.31.31:5080 with contact
nta.c:2979 agent_recv_request() nta: REFER (1) going to existing leg
nua_server.c:102 nua_stack_process_request() nua:
nua_stack_process_request: entering
nua_dialog.c:338 nua_dialog_usage_add() nua(0x7f69001622f0): adding
notify usage with event refer
nua_stack.c:271 nua_stack_event() nua(0x7f69001622f0): event i_refer 100 Trying
nua_stack.c:359 nua_application_event() nua: nua_application_event: entering
2014-01-20 16:42:05.486392 [DEBUG] switch_core_session.c:998 Send
signal sofia/sipinterface_3/10*7 [BREAK]
nua.c:366 nua_handle_magic() nua: nua_handle_magic: entering
nua.c:879 nua_respond() nua: nua_respond: entering
nua_stack.c:529 nua_signal() nua(0x7f69001622f0): sent signal r_respond
2014-01-20 16:42:05.506399 [DEBUG] sofia.c:6717 Process REFER to
[10*2*4*0 at 31.31.31.31]
nua_stack.c:573 nua_stack_signal() nua(0x7f69001622f0): recv signal
r_respond 202 Accepted
nua_params.c:480 nua_stack_set_params() nua: nua_stack_set_params: entering
soa.c:405 soa_set_params() soa_set_params(static::0x7f696001d2d0, ...) called
nua.c:716 nua_notify() nua: nua_notify: entering
nua_stack.c:529 nua_signal() nua(0x7f69001622f0): sent signal r_notify
tport.c:3238 tport_tsend() tport_tsend(0x7f69600043f0) tpn =
UDP/21.21.21.21:8090
2014-01-20 16:42:05.506399 [DEBUG] switch_ivr.c:1815
(sofia/sipinterface_1/sip:2001 at 5.238.239.45:5060) State Change
CS_EXECUTE -> CS_ROUTING
2014-01-20 16:42:05.506399 [DEBUG] switch_core_session.c:1333 Send
signal sofia/sipinterface_1/sip:2001 at 5.238.239.45:5060 [BREAK]
2014-01-20 16:42:05.506399 [DEBUG] switch_core_session.c:853 Send
signal sofia/sipinterface_1/sip:2001 at 5.238.239.45:5060 [BREAK]
2014-01-20 16:42:05.506399 [NOTICE] switch_ivr.c:1822 Transfer
sofia/sipinterface_1/sip:2001 at 5.238.239.45:5060 to
XML[10*2*4*0 at context_1]
nua.c:366 nua_handle_magic() nua: nua_handle_magic: entering
tport.c:4026 tport_resolve() tport_resolve addrinfo = 21.21.21.21:8090
tport.c:4660 tport_by_addrinfo() tport_by_addrinfo(0x7f69600043f0):
not found by name UDP/21.21.21.21:8090
tport.c:3574 tport_vsend() tport_vsend(0x7f69600043f0): 807 bytes of
807 to udp/21.21.21.21:8090
tport.c:3472 tport_send_msg() tport_vsend returned 807
send 807 bytes to udp/[21.21.21.21]:8090 at 13:12:05.506932:
   ------------------------------------------------------------------------
   SIP/2.0 202 Accepted
   Via: SIP/2.0/UDP
172.29.0.51:8090;branch=z9hG4bK-2a416d-a50f9461-58324ac0;received=21.21.21.21
   From: <sip:10*7 at 21.21.21.21:8090>;tag=59f12d0-33001dac-1f9a-50022-2a4164-6d86d248-2a4164
   To: "Outbound Call"<sip:2001 at 31.31.31.31>;tag=Uca68tZ82mD4c
   Call-ID: 46945c1e-fc77-1231-f18a-000c29ae8315
   CSeq: 1 REFER
   Contact: <sip:gw+trunk_2 at 31.31.31.31:5080;transport=udp;gw=trunk_2>
   Expires: 60
   User-Agent: Configured by 2600hz!
   Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE,
REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
   Supported: precondition, path, replaces
   Allow-Events: talk, hold, conference, presence, dialog, line-seize,
call-info, sla, include-session-description, presence.winfo,
message-summary, refer
   Content-Length: 0

---------- Forwarded message ----------
From: Sayyed Mohammad Emami Razavi <emamirazavi at gmail.com>
Date: Mon, 20 Jan 2014 19:11:36 +0330
Subject: Process REFER and not Hangup the channel
To: freeswitch-users <freeswitch-users at lists.freeswitch.org>

Hi There,

I use FS as proxy to handle a call with REFER to. My question is when
get a REFER request, how to do the Transfer regarding the REFER TO
before hangup the current channel. My mean before send back the
NOTIFY, do the INVITE (based on REFER TO), when the INVITE is 200 OK,
then send back NOTIFY.

my logs:

11:24:14.141700 [DEBUG] sofia.c:6616 Process REFER to [11004 at 111.22.33.1]
11:24:14.141700 [DEBUG] switch_ivr.c:1773
(sofia/external/6175552222 at 12.13.14.15) State Change CS_EXECUTE ->
CS_ROUTING
11:24:14.141700 [DEBUG] switch_core_session.c:1287 Send signal
sofia/external/6175552222 at 12.13.14.15 [BREAK]
11:24:14.141700 [DEBUG] switch_core_session.c:830 Send signal
sofia/external/6175552222 at 12.13.14.15 [BREAK]
11:24:14.141700 [NOTICE] switch_ivr.c:1779 Transfer
sofia/external/6175552222 at 12.13.14.15 to XML[11004 at public]
11:24:14.161701 [DEBUG] switch_ivr_play_say.c:1682 done playing file
local_stream://moh
11:24:14.161701 [DEBUG] switch_ivr_bridge.c:597 BRIDGE THREAD DONE
[sofia/external/+18550000000 at 1.2.3.4:5060]
11:24:14.161701 [DEBUG] switch_ivr_bridge.c:622 Send signal
sofia/external/6175552222 at 12.13.14.15 [BREAK]
11:24:14.161701 [DEBUG] switch_channel.c:2979
(sofia/external/+18550000000 at 1.2.3.4:5060) Callstate Change HELD ->
HANGUP

the Transfer to XML[11004 at public] not DONE yet, the
(sofia/external/+18550000000 at 1.2.3.4:5060) already Hangup, How to
delay the Hangup after Transfer is done?



Join us at ClueCon 2013 Aug 6-8, 2013
More information about the FreeSWITCH-users mailing list