[Asterisk-Users] Changing caller id on transfer

C F shmaltz at gmail.com
Thu Mar 2 20:01:34 MST 2006


Use the following variable in the dialplan to figure out that it has
been transfered (this only works on a blind transfer) and change CID
as you wish:
# ${BLINDTRANSFER}: The active SIP channel that dialed the number.
This will return the SIP Channel that dialed the number when doing
blind transfers - see BLINDTRANSFER
This is a paste from:
http://www.voip-info.org/wiki-asterisk+variables
and is also in:
 <asterisksource>/doc/README.variables and



On 3/2/06, Cosmin Prund <cosmin at adicomsoft.ro> wrote:
> I'm doing unattended transfers (ie: I dial #123 to transfer).
>
> I thought there is an easy way to know you're dialing out OR talking to
> someone and doing an unattended transfer. If there's no such thing, I'll
> just go with the suggestion of prefixing the caller id with something all
> phones can understand, and doing this for all calls.
>
> I do not need to care about outbound transfers since all my outbound lines
> are FXO and I can't spoof the caller id anyway!
>
> Are there any "codes" caller-id aware analog phones understand and I can
> place in the caller id to be easily identified?
>
> > -----Original Message-----
> > From: asterisk-users-bounces at lists.digium.com [mailto:asterisk-users-
> > bounces at lists.digium.com] On Behalf Of Joseph Tanner
> > Sent: Thursday, March 02, 2006 10:43 PM
> > To: Asterisk Users Mailing List - Non-Commercial Discussion
> > Subject: Re: [Asterisk-Users] Changing caller id on transfer
> >
> > Hrm, well it depends exactly how you're transferring calls as to how
> > you'd write it in extensions.conf.  Is it being transferred to an
> > internal line or to an external line?  If external, then of course you
> > need to be able to set the outgoing callerid (you'd basically be
> > spoofing it, but that shouldn't be an issue).
> >
> > I have done something similar, but not exactly like what you're
> > wanting.  I'm not sure what the best way to do it would be.  Perhaps
> > you could set the callerid early in asterisk in a variable (name it
> > something like, ${OUTGOINGCALLERID}).  Before making an outgoing call,
> > check asterisk's built-in callerid variable, if it's empty then set it
> > to your special variable.  If it's not empty, then use it (so a normal
> > outgoing call wouldn't already have callerid set, and would use your
> > value, but if an incoming call came in then the callerid variable
> > would be set, and we'd use that instead).
> >
> > The way I did it would require that a user start off in a different
> > context based on whether they're receiving a call, or making an
> > outgoing call.  Perhaps you can check for a flash, or make them dial a
> > special extension to make an outgoing, transferred call?  I dunno, my
> > setup's unique and I'm not sure how you can adapt it to your needs.
> > Anyways, if you can get them in a different context, then it's simple.
> >  In your normal outgoing context, the very first line should be what
> > sets the callerid.  In the special incoming then outgoing context, do
> > something like this:
> >
> > exten => _1NXXNXXXXXX,8,Goto(cell-out,${EXTEN},2)
> >
> > In this case, _1NXXNXXXXXX is the extension matched when I dial a
> > normal long-distance number (such as 1-931-555-1212).  It jumps to the
> > [cell-out] context (can name this anything you want, this is just my
> > setup with calling out via bluetooth), it keeps the extension the same
> > (so in [cell-out] we would need an extension of _1NXXNXXXXXX), and
> > goes to priority 2.  This bypasses the first priority, which is where
> > you set callerid for regular outgoing calls, so now you'll use the
> > existing value for the outgoing callerid, instead of changing it.
> >
> > You could just as easily recreate your dialplan for outgoing calls
> > that are transferred, but I prefer to jump to an existing context,
> > that way I only have to change one part of extensions.conf.  I know
> > that if I can make a long-distance call from a local extension, then
> > it'll work when someone calls in and gets bridged, because the code is
> > exactly the same except for setting callerid.
> >
> > Hope that helps more than it confuses.
> >
> > Joseph Tanner
> >
> > On 3/2/06, Cosmin Prund <cosmin at adicomsoft.ro> wrote:
> > > As usual, this is most likely a easy question, but here it goes any way:
> > >
> > > How can I change the caller id on a transferred call so the called party
> > > knows the call has been transferred from a colleague and it's not coming
> > > directly from our outside lines?
> > >
> > > The story goes like this:
> > > 1) Client calls. All phones ring.
> > > 2) Someone picks up the phone.
> > > 3) The phone gets transferred to someone.
> > > 4) The person that gets the transferred call sees the original caller id
> > and
> > > doesn't know the call has been transferred. I'd like the person that
> > gets
> > > the transfer to see the caller id with a digit prefix. Ex: Original
> > > caller-id: 0269123456; Caller id if the call has been transferred:
> > > 1*0269123456
> > >
> > > I know I can use SetCallerId(1*${CALLERIDNUM}) but how do I know I'm
> > doing a
> > > transfer and not calling someone?
> > >
> > > _______________________________________________
> > > --Bandwidth and Colocation provided by Easynews.com --
> > >
> > > Asterisk-Users mailing list
> > > To UNSUBSCRIBE or update options visit:
> > >    http://lists.digium.com/mailman/listinfo/asterisk-users
> > >
> > _______________________________________________
> > --Bandwidth and Colocation provided by Easynews.com --
> >
> > Asterisk-Users mailing list
> > To UNSUBSCRIBE or update options visit:
> >    http://lists.digium.com/mailman/listinfo/asterisk-users
>
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> Asterisk-Users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users
>



More information about the asterisk-users mailing list