RealTime ODBC and BLF NOT Work!

I use asterisk 1.8 with realtime via odbc my database is podtgresql

i want to configure BLF in grandstream gxp2020 for ex.
when I define my sip phone in sip.conf, it doesn’t have any problem with below setting BUT when define sip phone in realtime , I can not use BLF . it seems call-limit & subscribcontext do not work for realtime via ODBC.

Do you have any idea ?

SIP.Conf
[general]

allowoverlap=no                 ; Disable overlap dialing support. (Default is yes)
udpbindaddr=0.0.0.0             ; IP address to bind UDP listen socket to (0.0.0.0 binds to all)
                                ; Optionally add a port number, 192.168.1.1:5062 (default is port 5060)
tcpenable=no                    ; Enable server for incoming TCP connections (default is no)
tcpbindaddr=0.0.0.0             ; IP address for TCP server to bind to (0.0.0.0 binds to all interfaces)
canreinvite=no
limitonpeers=yes

[449]
type = friend
host = dynamic
secret = 449
context = users
call-limit = 10
subscribcontext = BLF_Group_1

[448]
type = friend
host = dynamic
secret = 448
context = users
call-limit = 10
subscribcontext = BLF_Group_1
; extensions.conf - the Asterisk dial plan
[general]

static=yes
writeprotect=no
clearglobalvars=no

[globals]
TIMEOUT(absolute)=750
[local]

[users]
include => BLF_Group_1
exten => 448,1,dial(sip/448,30)
exten => 449,1,dial(sip/449,30)

[BLF_Group_1]
exten => 448,hint,sip/448
exten => 449,hint,sip/449

[BLF_group_pickup]
exten => xxx,1,Pickup(${EXTEN})
exten => xxx,n,Hangup
public.sipfriends-table
INSERT INTO "public"."sipfriends" ("name", "type", "username", "fromuser", "fromdomain", "secret", 
"md5secret", "auth", "mailbox", "subscribemwi", "vmexten", "callerid", "cid_number", "callingpres", 
"usereqphone", "language", "incominglimit", "context", "subscribecontext", "amaflags", "accountcode", 
"musicclass", "mohsuggest", "allowtransfer", "callgroup", "pickupgroup", "autoframing", "disallow",
"allow", "maxcallbitrate", "host", "outboundproxy", "ipaddr", "defaultip", "port", "fullcontact", 
"insecure", "qualify", "regseconds", "regexten", "regserver", "rtptimeout", "rtpholdtimeout", 
"rtpkeepalive", "lastms", "setvar", "call-limit")
VALUES ('448', 'friend', '448', NULL, NULL, '448', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 
NULL, NULL, NULL, 'users', 'BLF_Group_1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 
'all', NULL, 'dynamic', NULL, '', NULL, '5062', NULL, NULL, NULL, 1291699242, NULL, 
NULL, NULL, NULL, NULL, 0, NULL, 10);
sipfriends-dll
CREATE TABLE "public"."sipfriends" (
  "name" VARCHAR(40) DEFAULT ''::character varying NOT NULL, 
  "type" VARCHAR(10) DEFAULT ''::character varying NOT NULL, 
  "username" VARCHAR(40), 
  "fromuser" VARCHAR(40), 
  "fromdomain" VARCHAR(40), 
  "secret" VARCHAR(40), 
  "md5secret" VARCHAR(40), 
  "auth" VARCHAR(10), 
  "mailbox" VARCHAR(20), 
  "subscribemwi" VARCHAR(10), 
  "vmexten" VARCHAR(20), 
  "callerid" VARCHAR(40), 
  "cid_number" VARCHAR(40), 
  "callingpres" VARCHAR(20), 
  "usereqphone" VARCHAR(10), 
  "language" VARCHAR(10), 
  "incominglimit" VARCHAR(10), 
  "context" VARCHAR(40) DEFAULT ''::character varying NOT NULL, 
  "subscribecontext" VARCHAR(40), 
  "amaflags" VARCHAR(20), 
  "accountcode" VARCHAR(20), 
  "musicclass" VARCHAR(20), 
  "mohsuggest" VARCHAR(20), 
  "allowtransfer" VARCHAR(20), 
  "callgroup" VARCHAR(20), 
  "pickupgroup" VARCHAR(20), 
  "autoframing" VARCHAR(10), 
  "disallow" VARCHAR(20) DEFAULT 'all'::character varying, 
  "allow" VARCHAR(20), 
  "maxcallbitrate" VARCHAR(15), 
  "host" VARCHAR(40) DEFAULT 'dynamic'::character varying, 
  "outboundproxy" VARCHAR(40), 
  "ipaddr" VARCHAR(40) DEFAULT ''::character varying NOT NULL, 
  "defaultip" VARCHAR(20), 
  "port" VARCHAR(5) DEFAULT ''::character varying NOT NULL, 
  "fullcontact" VARCHAR(40), 
  "insecure" VARCHAR(20), 
  "qualify" VARCHAR(15), 
  "regseconds" BIGINT DEFAULT 0 NOT NULL, 
  "regexten" VARCHAR(20), 
  "regserver" VARCHAR(20), 
  "rtptimeout" VARCHAR(15), 
  "rtpholdtimeout" VARCHAR(15), 
  "rtpkeepalive" VARCHAR(15), 
  "lastms" INTEGER DEFAULT (-1) NOT NULL, 
  "setvar" VARCHAR(200), 
  "call-limit" INTEGER DEFAULT 10
) WITHOUT OIDS;

CREATE UNIQUE INDEX "sipfriends_idx" ON "public"."sipfriends"
  USING btree ("name");

CREATE INDEX "sipfriends_idx1" ON "public"."sipfriends"
  USING btree ("ipaddr", "port");

With Asterisk 1.8 you should be using callcounter=yes and not call-limit (call-limit is deprecated).

Are your peers cached? (rtcachefriends=yes). If the peers are not cached in memory, no device state information will be available.

thanks for your solution
when I add callcounter=yes and rtcachefriends=yes in sip.conf , blf does not work
but when adding call-limit = 10 as well as these commands , blf works correctly in realtime via ODBC.