Problem solved!! But it really turns out that OBi probably needs new firmware update...
Here is the config that now works:
Device A:
ITSP profile B SIP > ProxyServer :
bb.bb.bb.bb (public IP of device B)
ITSP profile B SIP > X_DiscoverPublicAddress : unchecked
ITSP profile B SIP > X_PublicIPAddress : aa.aa.aa.aa (public IP of device A)
Device B:
ITSP profile B SIP > ProxyServer : aa.aa.aa.aa (public IP of device A)
ITSP profile B SIP > X_DiscoverPublicAddress : unchecked
ITSP profile B SIP > X_PublicIPAddress :
bb.bb.bb.bb (public IP of device B)
This is really weird: why dialing sp2(bbbb@bb.bb.bb.bb:5061) alone is not working?