Hello again friends,
i am using the pickup application to intercept calls, the way i have it configured is that any phone can intercept this on particular extension. i am trying to figure out how to show the caller id of the callee on the phone at intercepted the call
incoming
call—>*----->extension to be intercepted
|
|
|--------> phone that will intercept call (display caller id of call here)
i have tried to use share, but since i dont know the name of the channel the call is coming from, that didnt work particularly well. also using channel.CALLERID(“name”):set(“value”) doesn’t seem to be having any affect.
its lua, i think in normal asterisk dial plan it owuld be something like this
[default]
exten=>100,s,SET(_PICKUPMARK="intercept")
exten=>100,1,Dial("PJSIP/100")
exten=>100,2,Hangup()
exten=>888,s,PICKUP(""intercept@PICKUPMARK") (want to get the caller id here)
Even though it would be nice, it’s not a behavior I’ve seen in any phone system I’ve ever used. If you pick up the phone, you see whatever the pickup call requires (Eg. *8, 888 or whatever you need to dial)
You would need to make the phone that makes the outbound call, change it’s display. I’ve not seen any that does that either.
Instead of trying to figure out every thing all at once… Try making the phone show something when you dial out from it.
Eg. make a new extension, and try changing the caller ID fields one by one… Whenever your phone changes what it displays, you can move on to applying it to the call that’s got picked up. The available callerID files are listed here (For asterisk 17.)
I added all of them at once, so don’t know if they are all needed. But at least ONE of them is, as the remote party header did not appear with just the set lines in the dial plan.
The SNOM 720, I used to test the call, however, just ignored the information.
I just set up a quick test, on my test system. So don’t have it anymore. But I did something like
same => n,Set(CONNECTEDLINE(name)=Hello World)
same => n,Set(CONNECTEDLINE(num)=22222222)
The rest of the dial plan was unrelated. Also I set the connected line data before the dial command. It could also be done in a pre-dial macro, however, I would expect that to affect the outgoing leg of the call not the originating leg.
i’m still not clear how i can get the CID of Phone A to Phone C, i see you are doing same, but which ext is the same associated with? the incoming one, or in the call pickup ext? i’ve tried both and read the link from david551, but am still failing to grok =|
in the extension that is setup to do the intercept, how to i get the CID of that inbound call so i can set the CONNECTLINE to that?
using my previous diagram
incoming (phone A)
call—————>extension to be intercepted (phone B)
|
|
|--------> phone C that will intercept call (display caller id of call of phone A here)
The extension I used was my outbound handler, the changes were placed just before the actual call to the Dial() application. But again, it depends on the phone, how the header is handled.
i guess my problem now isn’t changing the ID, but passing it from from one channel to another.
phone a and phone b have a channel between them, that channel is marked for pickup, a whole new channel from phone c is created from my understanding to pickup the call between a and b. its not clear how to get the info from the a/b channel over to this new channel so i can manipulate the cid info.
@david551 i understand how to set the connected line info based on the examples provided, i’m not seeing how to get the info from call A where the caller id info i want is over to this bridged channel. this may be apparent to you, but i am missing a detail, maybe you can try this out yourself and then provide some guidance
this is whats in the channel A channel that is calling B
B never picks up, so how is the C channel supposed to get access to the A channel CID so we can try to set the connected line info
this is the info that i have in the c channel
When you bridge the channels, I would hope the relevant macro, described in the document, should get triggered. You use the macro to update the connected line information on the newly connected channel.
I suppose it is possible that this particular case is broken. I’ve only tried very limited cases, in which using the macros wasn’t even needed.
This does require that senrpid be supported by the phone, and is enabled.
Hi david551,
thanks, that provided me the information i needed to get my stuff setup. correctly. i needed to add send_rpid=yes to the gateway device and phones that are doing the pickup, as well as changing the phones to use RPID-PAI-FROM for the CID info and things are set now.