Pickup problem when the call came from gateway

I have a problem when a call is incoming from my Voip gateway (Patton smartnode on ISDN line). I set my extensions to pickup every call directed to internal phones. All works if I call from an internal phone and I have this message in the log:

app_directed_pickup.c: Call pickup on chan ‘SIP/121-008a2210’ by 'SIP/124-008aa880’
channel.c: Planning to masquerade channel SIP/124-008aa880 into the structure of SIP/121-008a2210

(I called ext.121 from ext.125, then I pickup call from ext.124)

Instead if I try calling from gateway the called phone rings, I can view the BLF led flashing on all other phones, but if I press the button to pickup the call I have a 603 error (call rejected). In the log I can see theese errors:

app_directed_pickup.c: No originating channel found.
app_directed_pickup.c: No call pickup possible…

Asterisk seem to loose originating channel… why?

In sip.conf i have:

[121]
type = friend
context = default
username = 121
callerid = Name1 <121>
host = dynamic
nat = no
canreinvite = no
dtmfmode = rfc2833
qualify = yes
disallow = all
allow = ulaw
allow = alaw
allow = g723.1
allow = g729
subscribecontext = BLF_Group

[124]
type = friend
context = default
username = 124
callerid = Name4 <124>
host = dynamic
nat = no
canreinvite = no
dtmfmode = rfc2833
qualify = yes
disallow = all
allow = ulaw
allow = alaw
allow = g723.1
allow = g729
subscribecontext = BLF_Group

[125]
type = friend
context = default
username = 125
callerid = Name6 <125>
host = dynamic
nat = no
canreinvite = no
notifyringing = yes
dtmfmode = rfc2833
qualify = yes
disallow = all
allow = ulaw
allow = alaw
allow = g723.1
allow = g729
subscribecontext = BLF_Group

[patton]
type = friend
context = default
username = patton
host = dynamic
nat = no
canreinvite = no
qualify = yes

In extensions.conf I have:

[internal]

exten => 121,1,Dial(SIP/121,30,Tt)
exten => 121,2,Hangup

exten => 124,1,Dial(SIP/124,30,Tt)
exten => 124,2,Hangup

exten => 125,1,Dial(SIP/125,30,Tt)
exten => 125,2,Hangup

exten => 0744mynum,1,Dial(SIP/121,30,Tt) ; gateway always calls 0744mynum
exten => 0744mynum,2,Hangup

exten => _X.,1,Dial(SIP/patton/${EXTEN:0},30) ; every other dialed number is directed to gateway

[BLF_Pickup]
exten => _**1XX,1,Pickup(${EXTEN:2})
exten => _**1XX,2,Hangup

[BLF_Group]
exten => 121,hint,SIP/121
exten => 124,hint,SIP/124
exten => 125,hint,SIP/125

[default]

include => parkedcalls
include => trunk
include => internal
include => BLF_Group
include => BLF_Pickup

Thanks for any ideas