Discussion:
[Asterisk-Users] Call Transfer using SIP clients
Frank Schoep
2005-07-04 14:11:13 UTC
Permalink
Hello all,

First of all, let me apologize about the length of this message, but I suppose
it was necessary to include the details.

I've spent quite some time already trying to get the call transfer function to
work on my Asterisk installation. Let me first describe the general situation
of the setup I am using, so you might be able to pinpoint the cause of the
problem.

I'm currently using Asterisk CVS as of July 4th 2005. The only means of
communication at the moment is the XTen X-Lite SIP Client, I already added
the following entries to my "sip.conf" configuration file:

[frank]
canreinvite=no
type=friend
secret=frank
username=frank
nat=yes
host=dynamic

[test]
canreinvite=no
type=friend
secret=test
username=test
nat=yes
host=dynamic

The SIP setup is working without a problem, the X-Lite application correctly
registers the users and I can set up calls between them. I've also tested
queues and they work without a problem, too. Next up is my extensions
configuration, of which the interesting section now looks like this:

[default]
include => general ; longshot, added out of desparation
include => parkedcalls ; longshot, added out of desparation
include => featuremap ; longshot, added out of desparation

exten => 800,1,Answer
exten => 800,2,Dial(SIP/frank,20,tT)
exten => 800,3 Hangup

exten => 802,1,Answer
exten => 802,2,Dial(SIP/test,20,tT)
exten => 802,3 Hangup

Notice the inclusion of several contexts that should or would have to be
defined in the features configuration. My features.conf looks something like
this, I trimmed the 'general' section for brevity:

[general]
; (trimmed) default options

[featuremap]
blindxfer => #1 ; Blind transfer
disconnect => *0 ; Disconnect
automon => *1 ; One Touch Record
atxfer => *2 ; Attended transfer

My testing scenario starts as follows:
- log in both X-Lite SIP clients
- from the 'test' phone, call extension 800
- on X-Lite client 'frank' accept the call
- talk to eachother

At this point I want to transfer to call to another extension, also defined in
"sip.conf" but unlisted here. The problem is that nothing happens when I
press the "#1" or "*2" keys in the 'frank' X-Lite client. I also tested these
key combinations on the 'test' X-Lite client during the call, but that also
had not effect.

I searched the web and the mailing list archive for a solution, and if I
recall correctly, someone stated that call transfer is only available for
calls originating from the PSTN. Is this correct, also in regard of the
current version of Asterisk? Has anyone got an idea how to get call transfer
to work?

One thing I tried was to change the DTMF settings in the clients, so they are
sent in-band, but this also didn't help. Should I revert this option?

Thanks in advance for your time and patience.

Sincerely,

Frank Schoep
Elwin Andriol
2005-07-04 14:47:03 UTC
Permalink
Post by Frank Schoep
Hello all,
First of all, let me apologize about the length of this message, but I suppose
it was necessary to include the details.
I've spent quite some time already trying to get the call transfer function to
work on my Asterisk installation. Let me first describe the general situation
of the setup I am using, so you might be able to pinpoint the cause of the
problem.
I'm currently using Asterisk CVS as of July 4th 2005. The only means of
communication at the moment is the XTen X-Lite SIP Client, I already added
[frank]
canreinvite=no
type=friend
secret=frank
username=frank
nat=yes
host=dynamic
[test]
canreinvite=no
type=friend
secret=test
username=test
nat=yes
host=dynamic
The SIP setup is working without a problem, the X-Lite application correctly
registers the users and I can set up calls between them. I've also tested
queues and they work without a problem, too. Next up is my extensions
[default]
include => general ; longshot, added out of desparation
include => parkedcalls ; longshot, added out of desparation
include => featuremap ; longshot, added out of desparation
exten => 800,1,Answer
exten => 800,2,Dial(SIP/frank,20,tT)
exten => 800,3 Hangup
exten => 802,1,Answer
exten => 802,2,Dial(SIP/test,20,tT)
exten => 802,3 Hangup
Notice the inclusion of several contexts that should or would have to be
defined in the features configuration. My features.conf looks something like
[general]
; (trimmed) default options
[featuremap]
blindxfer => #1 ; Blind transfer
disconnect => *0 ; Disconnect
automon => *1 ; One Touch Record
atxfer => *2 ; Attended transfer
- log in both X-Lite SIP clients
- from the 'test' phone, call extension 800
- on X-Lite client 'frank' accept the call
- talk to eachother
At this point I want to transfer to call to another extension, also defined in
"sip.conf" but unlisted here. The problem is that nothing happens when I
press the "#1" or "*2" keys in the 'frank' X-Lite client. I also tested these
key combinations on the 'test' X-Lite client during the call, but that also
had not effect.
I searched the web and the mailing list archive for a solution, and if I
recall correctly, someone stated that call transfer is only available for
calls originating from the PSTN. Is this correct, also in regard of the
current version of Asterisk? Has anyone got an idea how to get call transfer
to work?
One thing I tried was to change the DTMF settings in the clients, so they are
sent in-band, but this also didn't help. Should I revert this option?
Thanks in advance for your time and patience.
Sincerely,
Frank Schoep
_______________________________________________
Asterisk-Users mailing list
http://lists.digium.com/mailman/listinfo/asterisk-users
http://lists.digium.com/mailman/listinfo/asterisk-users
I don't know if this will be of any help to you, but at least I can
confirm problems with transfering calls with SIP agents. A little while
ago we were having big problems getting transfers using DTMF to work.

In that particular situation we were using a mix of only "hard" SIP
devices (BT101's and Elmeg/Snom190's) and ZAP channels. We tried both
the stable version of asterisk and the CVS HEAD, but without results
(but negative). In the end, we solved the problem by not using DTMF
transfers at all, but by using the transfer capabilities of the SIP
devices themselves (transfer for and hold buttons). These buttons did
not appear to work (correctly) with the stable asterisk version we
initially used (1.0.7), but with the CVS HEAD (> 29-MAY-2005) they
appear to work just fine.

I'm not familiar with "soft" SIP agents, so I don't know if the ones you
use have such build-in transfer capabilities as their hardware
counterparts like the BT101's and Snom190's have. I they do, you might
wan't to give it a try. This is of course rather a workaround than a
solution to your problem.

E. Andriol
--
-----------------------------------------------------------------------
HeuvelTop ICT Diensten v.o.f.
-----------------------------------------------------------------------
"There are management solutions to technical problems,
but no technical solutions to management problems"
-----------------------------------------------------------------------
Frank Schoep
2005-07-05 06:56:48 UTC
Permalink
Post by Elwin Andriol
I don't know if this will be of any help to you, but at least I can
confirm problems with transfering calls with SIP agents. A little while
ago we were having big problems getting transfers using DTMF to work.
In that particular situation we were using a mix of only "hard" SIP
devices (BT101's and Elmeg/Snom190's) and ZAP channels. We tried both
the stable version of asterisk and the CVS HEAD, but without results
(but negative). In the end, we solved the problem by not using DTMF
transfers at all, but by using the transfer capabilities of the SIP
devices themselves (transfer for and hold buttons). These buttons did
not appear to work (correctly) with the stable asterisk version we
initially used (1.0.7), but with the CVS HEAD (> 29-MAY-2005) they
appear to work just fine.
I'm not familiar with "soft" SIP agents, so I don't know if the ones you
use have such build-in transfer capabilities as their hardware
counterparts like the BT101's and Snom190's have. I they do, you might
wan't to give it a try. This is of course rather a workaround than a
solution to your problem.
E. Andriol
The X-Lite softphone does indeed have a "Transfer" and "Hold" in the
interface, but the functionality of those buttons appears to have been
disabled when the client is connected and registered on the Asterisk server.
Pressing the on-screen buttons doesn't have any effect while either having a
call or while idle.

Related to client-side transferring: I set the "canreinvite" option in the SIP
configuration to "no" because both clients are behind a NAT / firewall and I
read in the documentation that you'd want to disable the "canreinvite" option
in those situations. I haven't had any trouble because of this, as I stated
earlier calling and talking is working without hitches.

I haven't had the chance to try hardware phones yet, the testing I'm doing at
the moment involves softphones only. Now that I think of it, I'll try to
setup other applications again which might send DTMFs in a different form
compared to X-Lite.

In the meantime thanks in advance to everyone involved in this thread now and
in the future.

Sincerely,

Frank
Brian Capouch
2005-07-05 07:12:52 UTC
Permalink
Post by Frank Schoep
The X-Lite softphone does indeed have a "Transfer" and "Hold" in the
interface, but the functionality of those buttons appears to have been
disabled when the client is connected and registered on the Asterisk server.
Pressing the on-screen buttons doesn't have any effect while either having a
call or while idle.
I'm pretty sure it's disabled on purpose on the "free" Linux version of
the phone. I remember reading that somewhere on their site once upon a
time.

B.
Tulika Pradhan
2005-07-05 03:57:03 UTC
Permalink
call transfer works for me fine without any additions in features.conf
by simply using Dial(SIP/${EXTEN},20,tT)
and pressing #<number to be transfered to>
this works both from caller as well as callee.

tulika
Reply-To: Asterisk Users Mailing List - Non-Commercial Discussion
Subject: [Asterisk-Users] Call Transfer using SIP clients
Date: Mon, 4 Jul 2005 16:11:13 +0200
Hello all,
First of all, let me apologize about the length of this message, but I
suppose
it was necessary to include the details.
I've spent quite some time already trying to get the call transfer function
to
work on my Asterisk installation. Let me first describe the general
situation
of the setup I am using, so you might be able to pinpoint the cause of the
problem.
I'm currently using Asterisk CVS as of July 4th 2005. The only means of
communication at the moment is the XTen X-Lite SIP Client, I already added
[frank]
canreinvite=no
type=friend
secret=frank
username=frank
nat=yes
host=dynamic
[test]
canreinvite=no
type=friend
secret=test
username=test
nat=yes
host=dynamic
The SIP setup is working without a problem, the X-Lite application
correctly
registers the users and I can set up calls between them. I've also tested
queues and they work without a problem, too. Next up is my extensions
[default]
include => general ; longshot, added out of desparation
include => parkedcalls ; longshot, added out of desparation
include => featuremap ; longshot, added out of desparation
exten => 800,1,Answer
exten => 800,2,Dial(SIP/frank,20,tT)
exten => 800,3 Hangup
exten => 802,1,Answer
exten => 802,2,Dial(SIP/test,20,tT)
exten => 802,3 Hangup
Notice the inclusion of several contexts that should or would have to be
defined in the features configuration. My features.conf looks something
like
[general]
; (trimmed) default options
[featuremap]
blindxfer => #1 ; Blind transfer
disconnect => *0 ; Disconnect
automon => *1 ; One Touch Record
atxfer => *2 ; Attended transfer
- log in both X-Lite SIP clients
- from the 'test' phone, call extension 800
- on X-Lite client 'frank' accept the call
- talk to eachother
At this point I want to transfer to call to another extension, also defined
in
"sip.conf" but unlisted here. The problem is that nothing happens when I
press the "#1" or "*2" keys in the 'frank' X-Lite client. I also tested
these
key combinations on the 'test' X-Lite client during the call, but that also
had not effect.
I searched the web and the mailing list archive for a solution, and if I
recall correctly, someone stated that call transfer is only available for
calls originating from the PSTN. Is this correct, also in regard of the
current version of Asterisk? Has anyone got an idea how to get call
transfer
to work?
One thing I tried was to change the DTMF settings in the clients, so they
are
sent in-band, but this also didn't help. Should I revert this option?
Thanks in advance for your time and patience.
Sincerely,
Frank Schoep
_______________________________________________
Asterisk-Users mailing list
http://lists.digium.com/mailman/listinfo/asterisk-users
http://lists.digium.com/mailman/listinfo/asterisk-users
_________________________________________________________________
Claim your space online! http://www.msn.co.in/spaces Share your world for
free!
Frank Schoep
2005-07-05 06:38:59 UTC
Permalink
Post by Tulika Pradhan
call transfer works for me fine without any additions in features.conf
by simply using Dial(SIP/${EXTEN},20,tT)
and pressing #<number to be transfered to>
this works both from caller as well as callee.
tulika
Could you provide me with some more information so I can check where the
differences in our setups are? It would really help to see how you
implemented your extensions and SIP configuration. Could you describe the
following regarding your Asterisk installation:

- Asterisk version
- The SIP clients you use
- Excerpt of "extensions.conf", which definitions and contexts do you include
- Excerpt of "features.conf", which lines (if any) are in there
- (Maybe) an excerpt of "sip.conf", how are the SIP peers configured

I hope you find the time to post these bits and pieces as it will make it
easier for me to debug the situation. I've already tried numerous settings
and combinations of options, but haven't had any luck yet. Thanks in advance
for your precious time.

If anyone else has some ideas regarding my question, feel free to jump in -
the more the merrier.

Sincerely,

Frank
Frank Schoep
2005-07-05 07:29:45 UTC
Permalink
Post by Frank Schoep
I've spent quite some time already trying to get the call transfer function
to work on my Asterisk installation.
...
The SIP setup is working without a problem, the X-Lite application
correctly registers the users and I can set up calls between them. I've
also tested queues and they work without a problem, too.
...
I searched the web and the mailing list archive for a solution, and if I
recall correctly, someone stated that call transfer is only available for
calls originating from the PSTN. Is this correct, also in regard of the
current version of Asterisk? Has anyone got an idea how to get call
transfer to work?
...
One thing I tried was to change the DTMF settings in the clients, so they
are sent in-band, but this also didn't help.
OK, I'm happy to report that I finally managed to get the call transfer to
work with a different softphone application called LinPhone. I will
investigate why X-Lite doesn't work with sending DTMFs, but at least I know
now that my Asterisk setup isn't at fault.

Sadly, I can not share a solution any more detailed than this, the softphone
switch was enough to convince me that the Asterisk server is working
perfectly, it was primarily my X-Lite configuration at fault, so my sincere
apologies for posting this on the Asterisk mailing list.

If I find out how to get it working, I will append that information to the
thread so others can reuse that knowledge later on, I'm sure someone will
appreciate it.

Thanks to each and all contributors who've got me thinking about finding the
problematic part in my setup.

Sincerely,

Frank
Frank Schoep
2005-07-05 08:07:44 UTC
Permalink
Post by Frank Schoep
If I find out how to get it working, I will append that information to the
thread so others can reuse that knowledge later on, I'm sure someone will
appreciate it.
So, I just got X-Lite working alongside Asterisk, the problem was (call it a
premonition) the fact that I set them up to send DTMFs in band. Setting this
option to disabled made the X-Lite softphone work flawlessly. I hope that
helps someone.

Sincerely,

Frank
hugolivude
2005-09-20 17:03:03 UTC
Permalink
I'm having the same problem you had Frank, so I'm pleased you came up
with a fix. No luck for me yet!

Incoming & outgoing calls work fine using X-Lite, I just cannot transfer.

It's the first time I've ventured in to features.conf so I'm likely
doing something silly. I'd be grateful if you could have a look.
I've posted (parts of) my sip and features .conf files below. Do I
need something special in extensions.conf?

What's supposed to happen when I dial *1, do I hear a special dialtone
and then enter the extension?

Thanks,
Hugh

****** features.conf (mostly default):
; Sample Parking configuration
;

[general]
parkext => 700 ; What ext. to dial to park
parkpos => 701-720 ; What extensions to park calls on
context => parkedcalls ; Which context parked calls are in
;parkingtime => 45 ; Number of seconds a call can be parked for
; (default is 45 seconds)
transferdigittimeout => 3 ; Number of seconds to wait between digits
when transfering a call
courtesytone = beep ; Sound file to play to the parked caller
; when someone dials a parked call
xfersound = beep ; to indicate an attended transfer is complete
xferfailsound = beeperr ; to indicate a failed transfer
;adsipark = yes ; if you want ADSI parking announcements
;findslot => next ; Continue to the 'next' parking space. Defaults to
'first' available
;pickupexten = *8 ; Configure the pickup extension. Default is *8
featuredigittimeout = 500 ; Max time (ms) between digits for
; feature activation. Default is 500
[featuremap]
blindxfer => *1 ; Blind transfer
;disconnect => *0 ; Disconnect
;automon => *1 ; One Touch Record
atxfer => *2 ; Attended transfer

****** sip.conf :
[301]
; My phone
;
type=friend ; "friend" means this device takes and makes calls
username=301 ; Username on device
callerid="Me"<999-999-9999>
secret=#### ; Password for device
nat=no
host=dynamic ; This host is not on the same IP addr every time
context=internal ; Inbound calls from this host go here
mailbox=301 ; Activate the message waiting light if this
; voicemail box has messages in it
canreinvite=no ; Leave this alone for now; see archives for details
disallow=all
allow=gsm
allow=ulaw
allow=alaw
Post by Frank Schoep
Post by Frank Schoep
If I find out how to get it working, I will append that information to the
thread so others can reuse that knowledge later on, I'm sure someone will
appreciate it.
So, I just got X-Lite working alongside Asterisk, the problem was (call it a
premonition) the fact that I set them up to send DTMFs in band. Setting this
option to disabled made the X-Lite softphone work flawlessly. I hope that
helps someone.
Sincerely,
Frank
_______________________________________________
Asterisk-Users mailing list
http://lists.digium.com/mailman/listinfo/asterisk-users
http://lists.digium.com/mailman/listinfo/asterisk-users
hugolivude
2005-09-20 19:26:20 UTC
Permalink
Figured it out. I didn't have tT in my dial command:

Dial(ZAP/1${ARG3},10,tT)

Thanks for posting your problem and solution. It sure helped me out...

Hugh
Post by hugolivude
I'm having the same problem you had Frank, so I'm pleased you came up
with a fix. No luck for me yet!
Incoming & outgoing calls work fine using X-Lite, I just cannot transfer.
It's the first time I've ventured in to features.conf so I'm likely
doing something silly. I'd be grateful if you could have a look.
I've posted (parts of) my sip and features .conf files below. Do I
need something special in extensions.conf?
What's supposed to happen when I dial *1, do I hear a special dialtone
and then enter the extension?
Thanks,
Hugh
; Sample Parking configuration
;
[general]
parkext => 700 ; What ext. to dial to park
parkpos => 701-720 ; What extensions to park calls on
context => parkedcalls ; Which context parked calls are in
;parkingtime => 45 ; Number of seconds a call can be parked for
; (default is 45 seconds)
transferdigittimeout => 3 ; Number of seconds to wait between digits
when transfering a call
courtesytone = beep ; Sound file to play to the parked caller
; when someone dials a parked call
xfersound = beep ; to indicate an attended transfer is complete
xferfailsound = beeperr ; to indicate a failed transfer
;adsipark = yes ; if you want ADSI parking announcements
;findslot => next ; Continue to the 'next' parking space. Defaults to
'first' available
;pickupexten = *8 ; Configure the pickup extension. Default is *8
featuredigittimeout = 500 ; Max time (ms) between digits for
; feature activation. Default is 500
[featuremap]
blindxfer => *1 ; Blind transfer
;disconnect => *0 ; Disconnect
;automon => *1 ; One Touch Record
atxfer => *2 ; Attended transfer
[301]
; My phone
;
type=friend ; "friend" means this device takes and makes calls
username=301 ; Username on device
callerid="Me"<999-999-9999>
secret=#### ; Password for device
nat=no
host=dynamic ; This host is not on the same IP addr every time
context=internal ; Inbound calls from this host go here
mailbox=301 ; Activate the message waiting light if this
; voicemail box has messages in it
canreinvite=no ; Leave this alone for now; see archives for details
disallow=all
allow=gsm
allow=ulaw
allow=alaw
Post by Frank Schoep
Post by Frank Schoep
If I find out how to get it working, I will append that information to the
thread so others can reuse that knowledge later on, I'm sure someone will
appreciate it.
So, I just got X-Lite working alongside Asterisk, the problem was (call it a
premonition) the fact that I set them up to send DTMFs in band. Setting this
option to disabled made the X-Lite softphone work flawlessly. I hope that
helps someone.
Sincerely,
Frank
_______________________________________________
Asterisk-Users mailing list
http://lists.digium.com/mailman/listinfo/asterisk-users
http://lists.digium.com/mailman/listinfo/asterisk-users
Continue reading on narkive:
Loading...