Attended Transfer Call Flow

Attended Transfer Grandstream GXP2135

Description

This article describes the call flow of Attended Transfer initiated by Grandstream GXP2135. VoIP packets and the phone’s Syslog messages will be discussed in this article.

Call Flow

a. Ext. 1001 dials Ext. 1007

b. Ext. 1007 puts the call on hold with ext. 1001 by pressing the Attn Transfer button on the Call screen

c. Ext. 1007 dials ext. 1002

d. Ext. 1007 transfers ext. 1001 to ext. 1002

Flow Sequence

The flow sequence below is taken from GXP2135.

Figure 1 the call sequence is taken from GXP2135

Syslog

1. At 10.58:14, the call was placed on hold; that was the time when ext. 1007 pressed Attended Transfer button on the call screen

10:58:14   run:Event.cc(848)->Dispatching event: 201 (PHONE_COMMAND_HOLD) on line -1\n
10:58:14   CallModule::ActionWidget:63->Opening Transfer Screen\n
10:58:14.  run:Event.cc(848)->Dispatching event: 213 (PHONE_COMMAND_DIAL_TONE) on line -1\n
10:58:14.  run:Event.cc(848)->Dispatching event: 49 (CALL_HOLD) on line 0\n
10:58:14.  run:Event.cc(848)->Dispatching event: 88 (SIG_MEDIA_CHANGE) on line 0\n
10:58:14.  run:Event.cc(848)->Dispatching event: 60 (CALL_STATUS_UPDATE) on line 0\n

2. Ext. 1007 inputs ‘1002’ at the Attended Transfer screen

10:58:20  GXP2135_GUI  : USER.INFO   [00:0b:82:97:d8:4d][1.0.11.57][3034914816] CallModule::CallModuleController:2767->status: 3, isFromPhone: true, line: 1, tid: 0, acct: 0, msg: 0, remoteNum: “1002”, remoteName: “GRP2604P”, scheme: 0, multicast: 0, divertName: “”, divertNum: “”, refByName: “”, refByNum: “”, isTransferred: true, isCallReject: true, origNumber: “”\n

3. A new call between Ext. 1007 and ext. 1002 are initiated

10:58:23 USER.INFO    [00:0b:82:97:d8:4d][1.0.11.57][3061166080] run:Event.cc(848)->Dispatching event: 41 (CALL_STARTED) on line 1\n

4. Ext. 1007 transfers ext. 1001 to ext. 1002

10:58:29.  USER.INFO   [00:0b:82:97:d8:4d][1.0.11.57][3034914816] CallModule::CallModuleController:2767->status: 6, isFromPhone: false, line: 1, tid: 0, acct: 0, msg: 0, remoteNum: “1002”, remoteName: “GRP2604P”, scheme: 0, multicast: 0, divertName: “”, divertNum: “”, refByName: “”, refByNum: “”, isTransferred: false, isCallReject: false, origNumber: “”\n
10:58:29  USER.DEBUG  [00:0b:82:97:d8:4d][1.0.11.57][3034914816] CallModule::CallModuleController:2100->Transfer 1 with number “1002” to 0 with number “1001“\n
10:58:29 USER.INFO    [00:0b:82:97:d8:4d][1.0.11.57][3061166080] run:Event.cc(848)->Dispatching event: 49 (CALL_HOLD) on line 1\n
10:58:29 GXP2135_PHONE: USER.INFO    [00:0b:82:97:d8:4d][1.0.11.57][3061166080] run:Event.cc(848)->Dispatching event: 53 (CALL_TRANSFER) on line 1\n

5. Once the call is transferred successfully, the phone is placed on hook. Ext. 1007 (transferer) does not send a BYE message.

10:58:30  GXP2135_PHONE: USER.INFO    [00:0b:82:97:d8:4d][1.0.11.57][2867450976] processMedia:Call.cc(2796)->Call::processMedia(5): call stopped on line 0 inTransfer: 0 callStatus: 0 referDialogId: 0 phoneReferDialogId: 0\n
10:58:30 GXP2135_PHONE: USER.INFO    [00:0b:82:97:d8:4d][1.0.11.57][3061166080] run:Event.cc(848)->Dispatching event: 85 (SIG_REMOTE_DISCONNECT) on line 1\n
10:58:35  GXP2135_PHONE: USER.INFO    [00:0b:82:97:d8:4d][1.0.11.57][3061166080] run:Event.cc(848)->Dispatching event: 5 (PHONE_ON_HOOK) on line -1\n