Playing announcement in meetme conference


#1

Dear All,

I am trying to achieve the following: when a call is delivered to a user, I’d like both the caller and the callee to hear the same announcement, in the beginning of the conversation.
I made the test environment as simple as possible.
ext 401 calls 407, which pages 400 (live user) and 402 (which is plays the announcement)
Here is the dial plan:

[from-internal-custom]

exten => 402,1,Answer()
exten => 402,n,Wait(3)
exten => 402,n,Playback(announcement_1)
exten => 402,n,Hangup()
//this ext is there solely for the purpose of playing the announcement. Wait time is there to let the live user (ext 400) answer the call before plaing any announcement.

exten => 407,1,Wait(1)
exten => 407,n,Page(SIP/400&Local/402@from-internal-custom)
exten => 407,n,Hangup()

This is the trace output:
== Using SIP RTP CoS mark 5
– Called 400
– Called 402@from-internal-custom
– <SIP/401-00000060> Playing ‘beep.ulaw’ (language ‘en’)
– Executing [402@from-internal-custom:1] Answer(“Local/402@from-internal-custom-c1ee;2”, “”) in new stack
– Local/402@from-internal-custom-c1ee;1 answered
– Created MeetMe conference 1023 for conference ‘1337790972d’
– Executing [402@from-internal-custom:2] Wait(“Local/402@from-internal-custom-c1ee;2”, “3”) in new stack
– SIP/400-00000061 is ringing
– SIP/400-00000061 answered
– Executing [402@from-internal-custom:3] Playback(“Local/402@from-internal-custom-c1ee;2”, “announcement_1”) in new stack
– <Local/402@from-internal-custom-c1ee;2> Playing ‘announcement_1.slin’ (language ‘en’)
– Executing [402@from-internal-custom:4] Hangup(“Local/402@from-internal-custom-c1ee;2”, “”) in new stack
== Spawn extension (from-internal-custom, 402, 4) exited non-zero on ‘Local/402@from-internal-custom-c1ee;2’
– Hungup ‘DAHDI/pseudo-2037893662’
== Spawn extension (from-internal, 407, 2) exited non-zero on ‘SIP/401-00000060’
– Executing [h@from-internal:1] Macro(“SIP/401-00000060”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/401-00000060”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,4)
– Executing [s@macro-hangupcall:4] GotoIf(“SIP/401-00000060”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,7)
– Executing [s@macro-hangupcall:7] GotoIf(“SIP/401-00000060”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] Hangup(“SIP/401-00000060”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘SIP/401-00000060’ in macro ‘hangupcall’
== Spawn extension (from-internal, h, 1) exited non-zero on ‘SIP/401-00000060’

Everything looks normal, except that announcement can not be heard by anybody, and talkpath towards the calling party disappears after the paging (401 has no incoming audio anymore)

Observations:
-ad-hoc conference can be created and works as desired (therefore I dont think this is a network issue)
-meetme conference is workign fine when established between live users.
-when 402 is being called directly, announcement can be heard.
-if I put dial(SIP/402) into the incoming context that does not play the announcement and there is no message in log that it was attempted to be played at all
-in sniffer trace udp packets are going around between all parties throughout the whole call.

I am running Asterisk 1.6.2.11,
Linux 2.6.18-194.11.1.el5

Tested it on Asterisk 1.8.6.0-1digium1~maverick with Linux ubuntu 2.6.35-22-generic, same results.

I am lost finding a resolution or a valid workaround without too much compromise. Honestly this seems to be a bug to me. Any ideas/suggestions are welcome.
Thank you