[Home]

Summary:ASTERISK-10183: attended transfer with SIP channels: tranferer part doesn't see that called part answered, only with HAVE_EPOLL
Reporter:Paolo Ornati (ornati)Labels:
Date Opened:2007-08-28 02:54:15Date Closed:2007-08-28 09:18:59
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Channels/chan_sip/Transfers
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) epoll.debug
( 1) epoll.messages
( 2) ok.debug
( 3) ok.messages
Description:Since revision 78683:

------------------------------------------------------------------------
r78683 | file | 2007-08-08 23:44:58 +0200 (Wed, 08 Aug 2007) | 2 lines

Add support for using epoll instead of poll. This should increase
scalability and is done in such a way that we should be able to add
support for other poll() replacements.
------------------------------------------------------------------------

when HAVE_EPOLL is enabled (./configure thinks it works here) I have problems with attended transfer.


Quoting from "http://lists.digium.com/pipermail/asterisk-dev/2007-August/029211.html":

The setup is this: 3 SIP soft-phones (3 instances of Ekiga on the same
PC configured to listen on different ports), all of them with
"canreinvite=no".

What happens:
1) A <---> B     C

B does the attended transfer to C

2) A ~~~~ B -----> C
3) C rings
4) C answers
5) B doesn't notice that C answered (Asterisk is still sending
the ring tone to B)

****** ADDITIONAL INFORMATION ******

I've enabled some debugging (verbose/debug=4/sip debug/...), both for working (#undef HAVE_EPOLL) and non working atxfer, I'll attach them.

sip.conf is very simple, voip[123] are like this:

[voip1]
context=local
type=friend
secret=*******
nat=yes
host=dynamic
canreinvite=no
port=508[123]
Comments:By: Digium Subversion (svnbot) 2007-08-28 09:18:59

Repository: asterisk
Revision: 81210

------------------------------------------------------------------------
r81210 | file | 2007-08-28 09:18:58 -0500 (Tue, 28 Aug 2007) | 4 lines

(closes issue ASTERISK-10183)
Reported by: ornati
Make sure the called channel during the attended transfer process becomes associated with the calling channel so that the ast_waitfor_* call works properly under epoll.

------------------------------------------------------------------------