FAQ/Why is the callerid not changed after transfer with asterisk?

From Snom User Wiki

Jump to: navigation, search
Languages: English • Deutsch


The follwing problem occurs with asterisk:

  1. Phone B receives a call from Phone A
  2. Phone B answers
  3. Phone B makes an attended transfer to Phone C using one of the Snom attended transfer methods (http://wiki.snom.com/Category:HowTo:Transfer#Attended_Transfer)
  4. Phone C still sees Phone B as Caller ID (instead of Phone A)


This is an asterisk bug which was set as 'not fixable' in asterisk bug tracking system: https://issues.asterisk.org/view.php?id=7591

The problem is caused by the fact that asterisk acts as a B2BUA (http://en.wikipedia.org/wiki/Back-to-back_user_agent), dividing the communication channel into two call legs. When an attended transfer occurs, asterisk changes the second leg of the call without letting the first leg know that something changed.

A solution would be to use the "P-Asserted-Identity" header. If this header is present, the phone will display its content instead of the one from the "From" header. (in Asterisk 1.8 you must set "sendrpid=pai" in sip.conf to send the "P-Asserted-Identity" header).

Another way to avoid this might be to use the asterisk built-in transfer methods instead of the usual Snom attended transfer methods (for example pressing *2 for attended transfer) and maybe change the caller ID using dialplan commands, but this has not been tested on snom phones. There is some documentation of configuring this here: http://www.voip-info.org/wiki/view/Asterisk+config+features.conf

Note: A similar problem appears when doing call pickup (the user who is doing the pickup does not see the callerID of the caller)

Personal tools