[Home]

Summary:ASTERISK-10680: callback failed on atxfer from members of queue
Reporter:Ivan Petrov (ipetrov)Labels:
Date Opened:2007-11-03 16:57:36Date Closed:2007-11-06 15:31:34.000-0600
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Applications/app_queue
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) debug.out
( 1) debug-failed.out
Description:atxfer working perfectly with AAA, but with BBBB it doesn't. Call backing from C to A@contextB in scheme A->Queue()->B(is SIP/101 member)->atxfer (and hangup)->C->callback.
Comments:By: Ivan Petrov (ipetrov) 2007-11-03 16:59:52

I mean
AAA=Dial()
BBBB=Queue()

By: Ivan Petrov (ipetrov) 2007-11-03 17:07:32

it fail if A@contextB is not existing

[Nov  4 01:03:56] WARNING[33511]: res_features.c:1037 builtin_atxfer: Extension 74956385858 does not exist in context office - callback failed
   -- Stopped music on hold on IAX2/74956385858-3
[Nov  4 01:03:56] WARNING[33511]: res_features.c:1891 ast_bridge_call: Bridge failed on channels IAX2/74956385858-3 and SIP/101-088ac000, res = -1

By: Ivan Petrov (ipetrov) 2007-11-04 08:20:36.000-0600

To fix this issue im make changes in res_features.c. When transfer call back Transferer cid.cid_num contains callerid fo A (in A->B->C), and right value i took from channels name (i have 3-digits dialplan):

it terrible(!) resolving, but it works for me now.

--- cut from res_features.c[1032] ----

if (!newchan) {
unsigned int tries = 0;

snprintf(temp, 4, "%s", strrchr(transferer->name,'/') + 1);

/* newchan wasn't created - we should callback to transferer */
if (!ast_exists_extension(transferer, transferer_real_context, temp, 1, temp)) {
ast_log(LOG_WARNING, "Extension %s does not exist in context %s - callback failed\n",temp,transferer_real_context);
if (ast_stream_and_wait(transferee, "beeperr", ""))
return -1;
return FEATURE_RETURN_SUCCESS;
}
snprintf(callbackto, sizeof(callbackto), "%s@%s/n", temp, transferer_real_context);  /* append context */


-------- Cut ---------



By: Digium Subversion (svnbot) 2007-11-06 14:30:57.000-0600

Repository: asterisk
Revision: 89055

U   trunk/res/res_features.c

------------------------------------------------------------------------
r89055 | mmichelson | 2007-11-06 14:30:56 -0600 (Tue, 06 Nov 2007) | 9 lines

Instead of trying to callback a local channel on a failed attended transfer, call
the device that made the transfer instead. This makes for much smoother calling back
when queues are involved.

(closes issue ASTERISK-10680, reported by IPetrov)

Tremendous thanks to Russell for pulling me out of my block I was having on this one


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

By: Digium Subversion (svnbot) 2007-11-06 15:31:34.000-0600

Repository: asterisk
Revision: 89066

_U  team/murf/fast-ast2/
U   team/murf/fast-ast2/apps/app_amd.c
U   team/murf/fast-ast2/apps/app_chanisavail.c
U   team/murf/fast-ast2/apps/app_chanspy.c
U   team/murf/fast-ast2/apps/app_directed_pickup.c
U   team/murf/fast-ast2/apps/app_exec.c
U   team/murf/fast-ast2/apps/app_festival.c
U   team/murf/fast-ast2/apps/app_followme.c
U   team/murf/fast-ast2/apps/app_forkcdr.c
U   team/murf/fast-ast2/apps/app_getcpeid.c
U   team/murf/fast-ast2/apps/app_macro.c
U   team/murf/fast-ast2/apps/app_minivm.c
U   team/murf/fast-ast2/apps/app_mixmonitor.c
U   team/murf/fast-ast2/apps/app_morsecode.c
U   team/murf/fast-ast2/apps/app_mp3.c
U   team/murf/fast-ast2/apps/app_nbscat.c
U   team/murf/fast-ast2/apps/app_playback.c
U   team/murf/fast-ast2/apps/app_readfile.c
U   team/murf/fast-ast2/apps/app_sayunixtime.c
U   team/murf/fast-ast2/apps/app_sms.c
U   team/murf/fast-ast2/apps/app_softhangup.c
U   team/murf/fast-ast2/apps/app_speech_utils.c
U   team/murf/fast-ast2/apps/app_stack.c
U   team/murf/fast-ast2/apps/app_test.c
U   team/murf/fast-ast2/apps/app_waitforring.c
U   team/murf/fast-ast2/apps/app_waitforsilence.c
U   team/murf/fast-ast2/apps/app_while.c
U   team/murf/fast-ast2/channels/chan_agent.c
U   team/murf/fast-ast2/channels/chan_gtalk.c
U   team/murf/fast-ast2/channels/chan_jingle.c
U   team/murf/fast-ast2/channels/chan_sip.c
U   team/murf/fast-ast2/codecs/codec_zap.c
U   team/murf/fast-ast2/include/asterisk/jabber.h
U   team/murf/fast-ast2/include/asterisk/lock.h
U   team/murf/fast-ast2/include/asterisk/tdd.h
U   team/murf/fast-ast2/main/ast_expr2.fl
U   team/murf/fast-ast2/main/ast_expr2f.c
U   team/murf/fast-ast2/main/astmm.c
U   team/murf/fast-ast2/main/channel.c
U   team/murf/fast-ast2/main/config.c
U   team/murf/fast-ast2/main/fskmodem.c
U   team/murf/fast-ast2/main/loader.c
U   team/murf/fast-ast2/main/pbx.c
U   team/murf/fast-ast2/main/tdd.c
U   team/murf/fast-ast2/res/res_features.c
U   team/murf/fast-ast2/res/res_indications.c
U   team/murf/fast-ast2/res/res_jabber.c
U   team/murf/fast-ast2/res/res_monitor.c
U   team/murf/fast-ast2/res/res_musiconhold.c

------------------------------------------------------------------------
r89066 | murf | 2007-11-06 15:31:33 -0600 (Tue, 06 Nov 2007) | 188 lines

Merged revisions 89031,89034,89038,89041,89043-89044,89047-89052,89054-89055,89057,89062 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r89031 | rizzo | 2007-11-06 10:05:13 -0700 (Tue, 06 Nov 2007) | 17 lines

Fix embedding of modules on FreeBSD:
the constructor for the list of modules was run
after the constructors for the embedded modules
(which appended entries to the list).
As a result, the list appeared empty when it was
time to use it.

On linux the order of execution of constructor
was evidently different (it may depend on the
ordering of modules in the ELF file).

This is only a workaround - there may be other
situations where the execution of constructors
causes problems, so if we manage to find a more
general solution this workaround can go away.


................
r89034 | file | 2007-11-06 10:10:03 -0700 (Tue, 06 Nov 2007) | 12 lines

Merged revisions 89032 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89032 | file | 2007-11-06 13:08:05 -0400 (Tue, 06 Nov 2007) | 4 lines

Make it so that if a peer is determined to be unreachable using qualify their devicestate will report back unavailable.
(closes issue ASTERISK-10551)
Reported by: pj

........

................
r89038 | russell | 2007-11-06 11:23:36 -0700 (Tue, 06 Nov 2007) | 19 lines

Merged revisions 89037 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89037 | russell | 2007-11-06 12:20:07 -0600 (Tue, 06 Nov 2007) | 11 lines

If someone were to delete the files used by an existing MOH class, and then
issue a reload, further use of that class could result in a crash due to
dividing by zero.  This set of changes fixes up some places to prevent this
from happening.

(closes issue ASTERISK-10500)
Reported by: jcomellas
Patches:
     res_musiconhold_division_by_zero.patch uploaded by jcomellas (license 282)
 Additional changes added by me.

........

................
r89041 | qwell | 2007-11-06 11:44:19 -0700 (Tue, 06 Nov 2007) | 4 lines

Allow gtalk and jingle to use TLS connections again.

Closes issue ASTERISK-9675

................
r89043 | oej | 2007-11-06 12:04:29 -0700 (Tue, 06 Nov 2007) | 12 lines

Merged revisions 89042 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89042 | oej | 2007-11-06 19:53:37 +0100 (Tis, 06 Nov 2007) | 2 lines

Bug fixes to tdd support in zaptel.

........

(Small changes for trunk)

................
r89044 | mmichelson | 2007-11-06 12:04:45 -0700 (Tue, 06 Nov 2007) | 7 lines

"show application <foo>" changes for clarity.

(closes issue ASTERISK-10696, reported and patched by blitzrage)

Many thanks!


................
r89047 | qwell | 2007-11-06 12:10:18 -0700 (Tue, 06 Nov 2007) | 12 lines

Merged revisions 89046 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89046 | qwell | 2007-11-06 13:09:30 -0600 (Tue, 06 Nov 2007) | 4 lines

Correctly set the total number of channels from a zaptel transcoder board.

SPD-49, patch by Matthew Nicholson.

........

................
r89048 | oej | 2007-11-06 12:10:26 -0700 (Tue, 06 Nov 2007) | 2 lines

Additional TDD changes (preparing for SIP changes - adding TDD support to SIP)

................
r89049 | tilghman | 2007-11-06 12:16:02 -0700 (Tue, 06 Nov 2007) | 10 lines

Merged revisions 89045 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89045 | tilghman | 2007-11-06 13:09:06 -0600 (Tue, 06 Nov 2007) | 2 lines

We went to the trouble of creating a method of tracking failed trylocks, then never turned it on (oops).

........

................
r89050 | oej | 2007-11-06 12:23:10 -0700 (Tue, 06 Nov 2007) | 2 lines

Formatting. Illegaly using some spare spaces from Russell's space-bucket.

................
r89051 | murf | 2007-11-06 12:40:33 -0700 (Tue, 06 Nov 2007) | 1 line

Hoping to avoid a crash in OSX for a problem blitzrage found
................
r89052 | russell | 2007-11-06 12:51:37 -0700 (Tue, 06 Nov 2007) | 4 lines

Fix the memory show allocations CLI command so that it doesn't spew out all
of the current memory allocations when you start Asterisk, when the command's
handler gets called for initialization.

................
r89054 | russell | 2007-11-06 13:22:50 -0700 (Tue, 06 Nov 2007) | 11 lines

Merged revisions 89053 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89053 | russell | 2007-11-06 14:18:49 -0600 (Tue, 06 Nov 2007) | 3 lines

Fix init_classes() so that classes that actually do have files loaded aren't
treated as empty, and immediately destroyed ...

........

................
r89055 | mmichelson | 2007-11-06 13:32:49 -0700 (Tue, 06 Nov 2007) | 9 lines

Instead of trying to callback a local channel on a failed attended transfer, call
the device that made the transfer instead. This makes for much smoother calling back
when queues are involved.

(closes issue ASTERISK-10680, reported by IPetrov)

Tremendous thanks to Russell for pulling me out of my block I was having on this one


................
r89057 | file | 2007-11-06 13:55:58 -0700 (Tue, 06 Nov 2007) | 4 lines

Remove native bridging check for DTMF based transfers. Thanks to the last batch of RTP changes it is no longer required for the media stream to go through Asterisk if DTMF is going over signalling. It will simply reinvite back as needed.
(closes issue ASTERISK-10697)
Reported by: ibc

................
r89062 | murf | 2007-11-06 14:08:38 -0700 (Tue, 06 Nov 2007) | 9 lines

Merged revisions 89036 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89036 | murf | 2007-11-06 10:52:50 -0700 (Tue, 06 Nov 2007) | 1 line

closes issue ASTERISK-8547 - where the [catname](!) and [catname](othercat1,othercat2,...) notation gets dropped across a ConfigUpdate (or any other thing that would cause a config file to be written). While I was at it, I also cleaned up some of the destroy routines to free up comments, which was not being done. Made sure the new struct I introduced is also cleaned up properly at destruction time. My code handles multiple template inclusions. Many thanks to ssokol for his patch, which, while not literally used in the final merge, served as a foundation for the fix.
........

................

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