Мне нужно изменить адрес IPv4 на несколько адресов IPv4 с помощью файла LDIF. Исходный файл LDIF, который использовался для создания HSS ESM, выглядит следующим образом:
dn: HSS-EsmImsi=312720000000207,HSS-EsmSubscriptionId=BR-02061969,
HSS-EsmSubscriptionContainerName=HSS-EsmSubscriptionContainer,
applicationName=HSS_ESM,nodeName=bnyrgvhss1
changeType: modify
add: HSS-EsmUserProfileId
HSS-EsmUserProfileId: HSS-EsmProfile_APCCI_METERING
-
add: HSS-EsmUserIpV4Address
HSS-EsmUserIpV4Address: 4$10.11.12.13
-
add: HSS-EsmMsisdn
HSS-EsmMsisdn: +1 234 567 8901
-
Теперь мне нужно сделать 2 вещи:
- Измените адрес IPv4 (например, 10.13.15.17).
- Измените класс пользовательских объектов HSS ESM, чтобы HSS-EsmUserIpV4Address сохранял несколько адресов IPv4.
Согласно Описанию интерфейса ESM LDAP от Erickson, это должно быть сделано с помощью строки в следующем формате: [contextId1]$[IPv4-Address1]\n [contextId2 ]$[IPv4-адрес2]\n ...[contextIdNN]$[IPv4-адресNN]\n.
Легенда:
- Тип данных [contextId] — uint32.
- $ — это КОНСТАНТА (знак доллара США).
- [IPv4-Address] IP-адреса являются десятичными с точками строкового типа данных, например. 10.12.14.16.
- \n — это КОНСТАНТ (новая строка).
Я новичок в LDAP и буду признателен за любую помощь в том, как должен выглядеть файл LDIF, чтобы HSS-EsmUserIpV4Address
хранил, например, следующие адреса IPv4:
2$159.10.1.20
7$159.10.1.21
8$159.10.1.22
Я попытался изменить файл LDIF, чтобы сделать Delete
и Add
следующим образом:
... (the original code)...
changeType: modify
delete: HSS-EsmUserProfileId
-
add: HSS-EsmUserProfileId
HSS-EsmUserProfileId: 2$159.10.1.20\n7$159.10.1.21\n8$159.10.1.22\n
-
Но это не сработало (нет сообщений об ошибках, просто нет изменений).
Я буду признателен за любую помощь, я здесь (на работе), чтобы остаться, пока я не сделаю это.
2$
— это неuint32
, за которым следует$
, это одна цифра ASCII, за которой следует$
. Странный формат. Я ожидал увидеть несколько значений атрибутаHSS-EsmUserProfileId
. Можете дать реферальную ссылку? - person user207421   schedule 28.02.20172
— это значение uint32,$
используется как разделитель IPv4-адреса, поэтому, если вы напишете 210.11.12.13, вы не перепутаете «210» с «2$10». - person Binyamin Regev   schedule 28.02.20170x00000002
является значениемuint32
.2
— это однозначное значение ASCI0x32
, занимающее 8 бит. Вина Эриксона, а не ваша, и документация, которую вы цитируете, противоречит сама себе. В первую очередь я бы пожаловался им. - person user207421   schedule 28.02.2017HSS-EsmUserIpV4Address
и если работает то не меняю. Просто нужно найти способ поместить несколько адресов IPv4 вHSS-EsmUserIpV4Address
. - person Binyamin Regev   schedule 28.02.2017HSS-EsmUserIpV4Address
может хранить 1 или несколько адресов IPv4. Также мне нужно поддерживать изменение содержимогоHSS-EsmUserIpV4Address
, содержащего 1 адрес IPv4, на более чем 1 адрес IPv4. Как я уже писал - я новичок в LDAP и все еще изучаю его. - person Binyamin Regev   schedule 01.03.2017