Hi
When the two BGP peers start building bgp relationship, they inform each other about their capabilities in "Open Message". This message also carries hold time configured on the peer. The common myth is both BGP peer must have matching hold time and keep alive timer for BGP neighbor relationship. It is not true!
During BGP session establishment, a peer sends configured hold time only, the receiving router takes this time and compares it with its own configured hold time, if the hold time sent by BGP peer is less than the one configured on the receiving router, receiver router will pick the lesser of the two, in this case hold time sent by bgp peer. Once hold time has been decided, receiver then calculates Keep alive timer by dividing negotiated hold time by 3, picking only the integer part of the result. Receiver will then send keep alive at calculated keep alive interval.