Разобрался!
В updatePhoneParam делается два INSERT в contract_parameter_type_phone_item и contract_parameter_type_phone_item, первая табличка видимо отвечает за отображение в клиенте, вторая хранит телефоны.
Так вот оказывается для успешного добавления телефона Сформировать phoneParamItem потом добавить его в PhoneParamValue, а затем из PhoneParamValue сформировать строку с помощью PhoneUtils и присвоить PhoneParamValue.
Почему бы не сформировать эту строку в updatePhoneParam остается загадкой

Ноо ладно спасибо за подсказку, куда копать )
Код:
PhoneParamValue phoneValue = new PhoneParamValue();
PhoneParamItem phoneParamItem = new PhoneParamItem();
phoneParamItem.setPhone("79121231212");
phoneParamItem.setFormat("");
phoneParamItem.setComment("");
phoneValue.addPhoneItem(phoneParamItem);
phoneValue.setPhones(PhoneUtils.getPhones(phoneValue, ""));
cpm.updatePhoneParam(bgContract.getId(), PARAM_PHONE, phoneValue, USER_ID);
_________________
Код:
Клиент: вер. 6.2.874 / 05.02.2018 12:48:36
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_151
Сервер: вер. 6.2.1203 / 05.02.2018 12:50:34
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45