Callerid callfile and E1 issue

Good day.
I’m having a problem obtaining callerid when calling using callfile in asterisk 11.10.2
My SIP phone identifies callerid as Anonymous (it’s same as SIP headers in SIP debug).
The problem appears only with certain mobile operators.

My callfile:

Channel: Dahdi/R4/8XXXXXXXXXX,,dg CallerID: 495XXXXXXX MaxRetries: 2 RetryTime: 15 WaitTime: 30 Context: test-anonymous Extension: 2559 Priority: 1


[test-anonymous] exten => 2559,1,Log(Error,WE HAVE THIS: ${CALLERID(all)}) exten => 2559,n,Set(CALLERID(num)=1234) exten => 2559,n,Log(Error,WE NOW HAVE THIS: ${CALLERID(all)}) exten => 2559,n,Dial(SIP/2559)

If I dial through mobile operator 1 (BeeLine), I get this log:
[Jun 21 21:11:29] ERROR[100323][C-0000002e]: Ext. 2559:1 @ test-anonymous: WE HAVE THIS: “” <7XXXXXXXXXX>
[Jun 21 21:11:29] ERROR[100323][C-0000002e]: Ext. 2559:3 @ test-anonymous: WE NOW HAVE THIS: “” <1234>

The SIP phone shows callerid 1234. It’s OK.

But if I dial through mobile operator 2 (Megafon), I get this:
[Jun 21 21:12:13] ERROR[100808][C-00000030]: Ext. 2559:1 @ test-anonymous: WE HAVE THIS: “” <>
[Jun 21 21:12:13] ERROR[100808][C-00000030]: Ext. 2559:3 @ test-anonymous: WE NOW HAVE THIS: “” <1234>

And the strangest thing about it is that SIP phone shows callerid Anonymous although callerid(num) is correctly set in dialplan and is printed into log.

I’ve looked at E1 PBX debug log and found out that when callerid doesn’t work properly the mobile operator we’re connecting throug DSS1 doesn’t send “connected number: address” field in CONNECT message. I’m sure this is the reason callerid is empty, but I think setting callerid through dialplan still should work. And it doesn’t.

P.S. It all worked OK in asterisk 1.4 (current version is 11.10.2).

Maybe it’s some known problem and the solution is changing some SIP options?
Thank you!

You need to force presentation allowed.

It worked.
Thanks a lot!