Summary:ASTERISK-17327: UA2 not receiving re-INVITE after Asterisk redirect action
Reporter:Simon McCorkindale (soliax)Labels:
Date Opened:2011-02-01 05:30:19.000-0600Date Closed:
Versions:Frequency of
Environment:Attachments:( 0) 20110208_AMI_commands_ast_1_6_2.txt
( 1) 20110208_AMI_commands_ast_1_8.txt
( 2) 20110208_ast_1_6_2_asterisk_cli.log
( 3) 20110208_ast_1_8_Asterisk_cli.txt
( 4) 20110208_CSP20000_reinvite_asterisk_1_8_0.pcap
( 5) 20110208_CSP20000_reinvite_asterisk1_6_2.pcap
( 6) 20110208_CSP20001_reinvite_asterisk_1_8_0.pcap
( 7) 20110208_CSP20001_reinvite_asterisk1_6_2.pcap
( 8) asterisk_cli.log
( 9) CSP20000_reinvite_asterisk2_10.zip
(10) CSP20001_reinvite_asterisk2_10.zip
Description:<Problem description>
When performing the following redirect action from AMI we came across a problem where the re-INVITE was not sent to the receiver.

<Asterisk version>

Linux (CentOS)


?UA-1's extension: 20000
?UA-2's extension: 20001
?1. Originate Action from AMI from SIP UA-1 to UA-2

action: originate
channel: SIP/20000
callerid: 20000
async: true
priority: 1
exten: 20001
?2.From Asterisk, SIP UA-1 receives initial-INVITE so it returns "180 RING" and "200 OK"
?3.From Asterisk, SIP UA-2 receives initial-INVITE so it returns "180 RING" and "200 OK"

? 4. Asterisk sends both SIP UA-1 and UA-2 re-INVITE and the RTP route is established as a Peer2Peer between each UAs' local IP addresses.

?5. Using the following AMI redirect action, we redirect each channel to a MeetMe number (or hold queue)

action: redirect
channel: SIP/20001-0000000f
priority: 1
exten: 9060000
extrachannel: SIP/20000-0000000e
extrapriority: 1
extraexten: 9060000

? 6. UA-1 receives re-INVITE but UA-2 does not. Because of this, UA-2's media stream doesn't update. In the case of MeetMe, the sound for both UAs is mute. In the case I've outlined in this document with the accompanying logs we tried to redirect to the 9060000 hold queue and the problem was UA-1 can hear the hold queue music and UA-2's voice but UA-2 can only hear the hold music.

<Asterisk settings>
-extensions.conf (extract)
??; Extension dial plan
??exten => _2XXXX,1,Dial(SIP/${EXTEN},60)
??exten => _2XXXX,n,Ringing()
??exten => _2XXXX,n,GotoIf($["${DIALSTATUS}"="CHANUNAVAIL"]?102)
??exten => _2XXXX,102,Busy(3)
??exten => _2XXXX,103,HangUp()
??;MeetMe number dial plan
??exten => _912,1,MeetMe(${EXTEN},dq)
??; Hold queue dial plan
??exten => _906XXXX,n,Queue(${EXTEN})
-meetme.conf (extract)
??conf => 912
Comments:By: Simon McCorkindale (soliax) 2011-02-01 05:35:42.000-0600


1. Please excuse the tabs seem to be have mistranslated into ?.

2. Log files I've attached are:
2.1 asterisk_cli.log - Asterisk console log with sip history and debug turned on
2.2 CSP20000_reinvite_asterisk2_10.zip - ZIP of Wireshark log from PC running extension UA-1's 20000
2.3 CSP20001_reinvite_asterisk2_10.zip - ZIP of Wireshark log from PC running extension UA-1's 20001

By: Leif Madsen (lmadsen) 2011-02-07 13:49:03.000-0600

Log files should be attached as text files and not compressed archives (zip files).

If the file is too big to be attached without it being zipped, then you're providing too much information and you should strip it down to the bare components to show what is going on.

By: Simon McCorkindale (soliax) 2011-02-08 04:25:39.000-0600


Sorry about the large ZIP files. Please ignore them.

We were able to reproduce the same problem on Asterisk 1.8 as well.

You can see the new log files + Wireshark logs (with the filters on for RTCP and SIP protocols only so hence a lot smaller in size). All the log files have the Asterisk version plus the "20110208" date in their filenames.

Please let me know if there is any more info you need from me.


By: Simon McCorkindale (soliax) 2011-02-08 04:32:39.000-0600

By the way, the exact Asterisk versions for the 20110208 tests are:

Asterisk 1.8.3-rc2

By: The Mike Kilburn (mkilburn60) 2011-05-30 00:42:57

Anyone know of a workaround for this issue?