Sem fio : Cisco MME Mobility Management Entity

Seleção PGW e SGW pelo mecanismo do MME no ASR

13 Setembro 2016 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Inglês (21 Abril 2016) | Feedback

Introdução

Este documento descreve a maneira em que o mecanismo da entidade de gerenciamento da mobilidade (MME) é usado a fim selecionar os gateways do pacote (PGW) e o gateway do serviço (SGWs), e como é executado no roteador agregado Cisco 5x00 Series do serviço (ASR5x00).

Contribuído por Krishna Kishore DV, engenheiro de TAC da Cisco.

Registros de recursos

Esta seção descreve os vários registros de recurso que são usados pelo MME.

A e AAAA

O registro de recurso A é usado a fim definir os endereços de host da versão 4 do protocolo de internet (IPv4) que correspondem ao nome de domínio totalmente qualificado (FQDN) do host. O registro de recurso AAAA é usado a fim definir os endereços de host da versão 6 do protocolo de internet (IPv6) que correspondem ao FQDN do host.

Aqui está um exemplo:

example.example.com

1500 IN A 1.1.1.1

NAPTR

O registro de recurso do ponteiro da autoridade do nome (NAPTR) e é uma ferramenta poderosa que permita que o Domain Name System (DNS) seja usado a fim olhar acima serviços para uma ampla variedade de nomes do recurso que não estão na sintaxe do Domain Name (DN).

(S-NAPTR) o procedimento Direto-NAPTR é usado para a definição de um DN, de um nome dos serviços de aplicativo, ou de um protocolo do aplicativo dinamicamente a fim visar o server e a porta através de NAPTR e de serviço (SRV).

Aqui está um exemplo:

starent.apn.epc.mnc012.mcc345.3gpp.org

             order pref flags

2000 IN NAPTR 100 10   "s"   "SGW:PMIP"           ( ; service

                         ""                          ; regexp

                         pmip.example.com.           ; replacement

                                                  )   

SRV

O registro de recurso do SRV usa um pool dos server para um único domínio com o Balanceamento de carga estático a cada server a fim mover serviços do host para hospedar e a fim designar alguns anfitriões como servidores primários para um serviço de um pool dos anfitriões.

Aqui está um exemplo:

pmip.example.com

           Pref Weight Port Target

1500 IN SRV 10   0     10000 example.example.com.

Seleção PGW

Esta imagem ilustra a seleção PGW pelo MME para a mensagem inicial do anexo e a conexão adicional da rede de dados pública (PDN):

Durante o anexo e a criação iniciais da conexão PDN com ó acesso do projeto da parceria da geração (3GPP), um PGW e um SGW devem ser selecionados pelo MME.

O parâmetro de serviço que é usado no procedimento S-NAPTR para o PGW é x-3gpp-pgw:x-s5-gtp ou x-3gpp-pgw:x-s5-pmip.

Você deve provision o servidor DNS competente que é responsável para o domínio apn.epc.mnc<MNC>.mcc<MCC>.3gppnetwork.org com registros NAPTR para cada valor Nome-FQDN do Access point (APN-FQDN) na rede. Os registros NAPTR são formados destes parâmetros de serviço e de todas as relações S5/S8:

  • x-3gpp-pgw:x-s8-gtp

  • x-3gpp-pgw:x-s8-pmip

  • x-3gpp-pgw:x-s5-gtp

  • x-3gpp-pgw:x-s5-pmip

O APN-FQDN é usado em perguntas DNS pelo MME e derivado de um APN. Os procedimentos DNS e S-NAPTR output logicamente uma lista de nomes de host que cada um são acoplados com um serviço, um protocolo, uma porta, e uma lista de endereços do IPv4 e/ou do IPv6. Esta é a lista do candidato dos PGW para um APN específico. Esta lista do candidato é passada com a lógica de seleção a fim escolher um PGW específico. A lógica de seleção pode usar parâmetros como:

  • Carga (deduzida localmente)

  • Ordem, preferência, e peso (DNS fornecido)

  • Colocação com o SGW (aprendido das respostas de DNS)

  • Estagnação topológica

Nota: Uma vez que o PGW foi contactado com sucesso, o nome de host selecionado PGW, o endereço IP de Um ou Mais Servidores Cisco ICM NT usado PGW, o número de porta, e o tipo de protocolo selecionado estão armazenados no MME pelo PDN.

APN-FQDN

O APN é recebido pela função de descoberta evoluída do nó do núcleo do pacote (EPC) para os acessos 3GPP e tem duas porções: o identificador de rede APN (NI) e o identificador do operador APN (OI).

Aqui está um exemplo:

APN NI - <APN-NI>
APN OI - mnc<MNC>.mcc<MCC>

O APN-FQDN é obtido do APN através da inserção da etiqueta apn.epc entre o APN-NI e o padrão APN-OI, e através de uma substituição da etiqueta .gprsat o fim do padrão APN-OI com as etiquetas .3gppnetwork.org.

Por exemplo, com um APN de internet.mnc015.mcc234.gprs, o APN-FQDN derivado é internet.apn.epc.mnc015.mcc234.3gppnetwork.org.

Este formato é usado pelo MME em perguntas DNS às redes com o DNS fornecida a Release-8. Os registros DNS que são fornecida neste lugar são registros NAPTR e incluem todos os S5/S8 conectam para PGW e os PGW arranjados/SGWs que são pretendidos ser usados para aquele APN.

Há exatamente três etiquetas, e a última etiqueta é gprs. O APN é transformado ao formato APN-FQDN, como descrito na secundário-cláusula 19.4.2.2.3 das especificações técnica 3GPP (TS) 23.003 [2]:

Se o APN tem as últimas três etiquetas que combinam o teste padrão “mnc<MNC>.mcc<MCC>.gprs”, onde <MNC> e <MNC> cada um estão compostos de 3 dígitos decimais, a seguir as últimas 3 etiquetas do APN serão substituídas por "apn.epc.mnc<MNC>.mcc<MCC>.3gppnetwork.org" para formar o APN-FQDN.

Mais se o usuário Equipment(UE)/Station(MS) móvel está na rede home e a corda APN tem como por último etiqueta “gprs”, a seguir a última etiqueta “gprs” na corda APN será substituído por "apn.epc.mnc<MNC>.mcc<MCC>.3gppnetwork.org" para formar o APN-FQDN onde a rede móvel Code(MNC) e os valores móveis de Code(MCC) do país são os valores da rede home. Este caso do uso ocorre se o terreno público home Network(HPLMN) móvel OI-1 (derivado do campo da substituição APN OI no perfil do subscritor) não se conforma ao teste padrão “mnc<MNC>.mcc<MCC>.gprs”.

Se não o APN é inválido e não pode ser usado para um uso da liberação 8 APN.

Consulta APN para LTE simples (lista do candidato PGW)

Está aqui um exemplo de uma consulta APN para uma encenação a longo prazo simples da evolução (LTE) de TS 29.303:

Supõe um LTE NON-vagueando UE indica que quer usar a corda "imsTV2" APN-NI ao MME em nossa rede de exemplo no anexo inicial.

NOTA 1:   O lembrete $ORIGIN é epc.mnc990.mcc311.3gppnetwork.org. e é empregado aqui simplesmente para manter o comprimento do texto do exemplo manejável

O MME enfia o procedimento S-NAPTR com série exclusiva do aplicativo = imsTV2.apn.$ORIGIN e os serviços desejados x-3gpp-pgw:x-s5-gtp e x-3gpp-pgw:x-s5-pmip.

O MME começa com série exclusiva do aplicativo = imsTV2.apn.$ORIGIN e os serviços desejados x-3gpp-pgw:x-s5-gtp e x-3gpp-pgw:x-s5-pmip

--------- Command to DNS server----------

## dig @192.0.2.247 +tcp NAPTR imsTV2.apn.$ORIGIN

---------Start Response from DNS server----------

;; QUESTION SECTION:

;imsTV2.apn.$ORIGIN. IN NAPTR

;; ANSWER SECTION:

imsTV2.apn.$ORIGIN. 3600 IN NAPTR 600 999 "a" "x-3gpp-pgw:x-s8-pmip" ""
topoff.vip2.gw01.node.$ORIGIN.

imsTV2.apn.$ORIGIN. 3600 IN NAPTR 100 999 "a" "x-3gpp-pgw:x-s5-gtp:x-s8-gtp"
"" topoff.vip1.gw21.node.$ORIGIN.

imsTV2.apn.$ORIGIN. 3600 IN NAPTR 200 999 "a" "x-3gpp-pgw:x-s5-gtp:x-s8-gtp"
"" topoff.vip1.gw01.node.$ORIGIN.

imsTV2.apn.$ORIGIN. 3600 IN NAPTR 500 999 "a" "x-3gpp-pgw:x-s8-pmip" ""
topoff.vip2.gw21.node.$ORIGIN.

---------End Response from DNS server----------

O MME retém somente registros NAPTR com serviços de harmonização x-3gpp-pgw:x-s5-gtp e render x-3gpp-pgw:x-s5-pmip:

NAPTR record set

replacement service flag order preference

topoff.vip1.gw21.node.$ORIGIN x-3gpp-pgw:x-s5-gtp:x-s8-gtp "a" 100 999

topoff.vip1.gw01.node.$ORIGIN x-3gpp-pgw:x-s5-gtp:x-s8-gtp "a" 200 999

O nó do MME classifica o NAPTR render do RFC 3958

NAPTR record set

replacement service flag order preference

topoff.vip1.gw21.node.$ORIGIN x-3gpp-pgw:x-s5-gtp:x-s8-gtp "a" 100 999

topoff.vip1.gw01.node.$ORIGIN x-3gpp-pgw:x-s5-gtp:x-s8-gtp "a" 200 999

O MME armazena registros desde que são a bandeira “a”

topoff.vip1.gw21.node.$ORIGIN services of x-3gpp-pgw:x-s5-gtp

topoff.vip1.gw01.node.$ORIGIN services of x-3gpp-pgw:x-s5-gtp

O MME tem agora a lista final do candidato (a consulta A e AAAA é adiada para nosso exemplo da mão)

topoff.vip1.gw21.node.$ORIGIN services of x-3gpp-pgw:x-s5-gtp

topoff.vip1.gw01.node.$ORIGIN services of x-3gpp-pgw:x-s5-gtp

Os registros necessários A/AAAA foram incluídos com registros adicionais. Isto é.

topoff.vip1.gw21.node.$ORIGIN. 3600 IN A 192.0.2.116

topoff.vip1.gw21.node.$ORIGIN. 3600 IN A 192.0.2.115

topoff.vip1.gw21.node.$ORIGIN. 3600 IN AAAA 2001:db8:0:e::

topoff.vip1.gw21.node.$ORIGIN. 3600 IN AAAA 2001:db8:0:f::

e

topoff.vip1.gw01.node.$ORIGIN. 3600 IN A 192.0.2.114

topoff.vip1.gw01.node.$ORIGIN. 3600 IN A 192.0.2.113

topoff.vip1.gw01.node.$ORIGIN. 3600 IN AAAA 2001:db8:0:c::

topoff.vip1.gw01.node.$ORIGIN. 3600 IN AAAA 2001:db8:0:d::

SE os registros A e AAAA não estavam disponíveis na seção do registro adicional (ou em um esconderijo DNS) o MME faria as consultas A/AAAA. Que emulação com comandos manuais olharia como:

dig @192.0.2.247 +tcp A topoff.vip1.gw21.node.$ORIGIN

dig @192.0.2.247 +tcp AAAA topoff.vip1.gw21.node.$ORIGIN

dig @192.0.2.247 +tcp A topoff.vip1.gw01.node.$ORIGIN

dig @192.0.2.247 +tcp AAAA topoff.vip1.gw01.node.$ORIGIN

Nós podemos formar a lista completa do candidato agora (após aleatório baralhando os registros A e AAAA) para obter

(topoff.vip1.gw21.node.$ORIGIN ,services of x-3gpp-pgw:x-s5-gtp ,
{192.0.2.115,192.0.2.116}, { 2001:db8:0:e::,2001:db8:0:f::} )

(topoff.vip1.gw01.node.$ORIGIN ,services of x-3gpp-pgw:x-s5-gtp ,
{192.0.2.114,192.0.2.113}, { 2001:db8:0:c::, 2001:db8:0:d::)

Seleção SGW

A função da seleção SGW seleciona um SGW disponível servir um UE. A seleção é baseada na topologia de rede. O SGW selecionado serve o lugar UE, e quando há as áreas de serviço SGW que sobrepõem, a seleção pôde preferir o SGWs com áreas de serviço que reduzem a probabilidade de uma mudança SGW.

A seleção SGW usa a identidade de seguimento da área (TAI), que fornece a informação sobre o lugar do acessório UE à rede de acesso de rádio (RAN). Você deve provision o servidor DNS competente que é responsável para os registros NAPTR sob o Identidade-FQDN de seguimento da área (TAI-FQDN) para cada valor TAI na rede. Os registros NAPTR são formados destes parâmetros de serviço e de todas as relações S5/S8:

  • x-3gpp-sgw:x-s8-gtp

  • x-3gpp-sgw:x-s8-pmip

  • x-3gpp-sgw:x-s5-gtp

  • x-3gpp-sgw:x-s5-pmip

O TAI-FQDN é usado em perguntas DNS pelo MME. Os procedimentos S-NAPTR, descritos nas seções mais recente, outputs logicamente uma lista de nomes de host, cada qual são acoplados com um serviço, um protocolo, uma porta, e uma lista de endereços do IPv4 e/ou do IPv6. Esta é a lista do candidato de SGWs para um APN específico. Esta lista do candidato é passada com a lógica de seleção a fim escolher um SGW específico. A lógica de seleção pode usar parâmetros como:

  • Cobertura TAI

  • Carga (deduzida localmente)

  • Ordem, preferência, e peso (DNS fornecido)

  • Colocação com o PGW (aprendido das respostas de DNS)

  • Topologia (nome de nó PGW)

TAI-FQDN

O MME constrói o TAI-FQDN como definido na cláusula secundária 19.4.2.3 do 3GPP TS 23.003. O TAI-FQDN é construído neste formato:

tac-lb<TAC-low-byte>.tac-hb<TAC-high-byte>.tac.epc.mnc<MNC>.mcc<MCC>. 3gppnetwork.org

O código de área de seguimento (TAC) é um inteiro de 16 bit. O <TAC-high-byte> é o string hexadecimal do byte mais significativo no TAC, e o <TAC-low-byte> é o string hexadecimal de menos byte significativo.

Consulta TAI para LTE simples (lista do candidato SGW)

Está aqui um exemplo da consulta TAI para uma encenação simples LTE de TS 29.303:

Supõe um LTE NON-vagueando UE executa e rubrique o anexo e o indique que quer usar um APN-NI (um APN na rede deste operador). O MME sabe que não precisa de usar o S8 desde que é um UE NON-vagueando e deve ser APN local assim que S5 está usado.

NOTA 1:   O lembrete $ORIGIN é epc.mnc990.mcc311.3gppnetwork.org. e é empregado aqui simplesmente para manter o comprimento do texto do exemplo manejável.

O MME tem o valor TAI onde o UE anexou. Nós supomos que o baixo byte do TAC é encanta 11 e o alto byte é encanta 40.

O MME começa o procedimento S-NAPTR com série exclusiva do aplicativo = tac-lb11.tac-hb40.tac.$ORIGIN e serviços desejados x-3gpp-sgw:x-s11,x-3gpp-sgw:x-s5-gtp, x-3gpp-sgw:x-s5-pmip.

NOTA 2: Este vendedor particular do MME procura os valores x-s11, que é somente uma otimização opcional. Isto não terá nenhum benefício neste exemplo desde que o operador escolheu não os provision.

Aqui nós emulamos a mesma ação que o MME faria manualmente com o comando da “escavação”.

-

-------- Command to DNS server----------

## dig @192.0.2.247 +tcp NAPTR tac-lb11.tac-hb40.tac.$ORIGIN

---------Start Response from DNS server----------

;; QUESTION SECTION:

;tac-lb11.tac-hb40.tac.$ORIGIN. IN NAPTR

;; ANSWER SECTION:

tac-lb11.tac-hb40.tac.$ORIGIN. 3600 IN NAPTR 400 999 "a" "x-3gpp-sgw:x-s8-pmip"
"" topoff.eth9.gw01.node.$ORIGIN.

tac-lb11.tac-hb40.tac.$ORIGIN. 3600 IN NAPTR 500 999 "a" "x-3gpp-mme:x-s10" ""
topoff.eth1.mmec02.mmegi8001.mme.$ORIGIN.

tac-lb11.tac-hb40.tac.$ORIGIN. 3600 IN NAPTR 600 999 "a" "x-3gpp-mme:x-s10" ""
topoff.eth1.mmec01.mmegi8001.mme.$ORIGIN.

tac-lb11.tac-hb40.tac.$ORIGIN. 3600 IN NAPTR 100 999 "a"
"x-3gpp-sgw:x-s5-gtp:x-s8-gtp" "" topoff.eth4.gw21.node.$ORIGIN.

tac-lb11.tac-hb40.tac.$ORIGIN. 3600 IN NAPTR 200 999 "a"
"x-3gpp-sgw:x-s5-gtp:x-s8-gtp" "" topoff.eth4.gw01.node.$ORIGIN.

tac-lb11.tac-hb40.tac.$ORIGIN. 3600 IN NAPTR 300 999 "a"
"x-3gpp-sgw:x-s8-pmip" "" topoff.eth9.gw21.node.$ORIGIN.

---------End Response from DNS server----------

O MME retém somente o NAPTR com serviços de harmonização x-3gpp-sgw:x-s11,x-3gpp-sgw:x-s5-gtp, e render x-3gpp-sgw:x-s5-pmip

NAPTR record set

replacement service flag order preference

topoff.eth4.gw01.node.$ORIGIN x-3gpp-sgw:x-s5-gtp:x-s8-gtp "a" 200 999

topoff.eth4.gw21.node.$ORIGIN x-3gpp-sgw:x-s5-gtp:x-s8-gtp "a" 100 999

Note o x-s8-gtp não são realmente incluído mas são mantidos aqui para permitir que o leitor ver que registro NAPTR foi mantido da resposta de DNS.

O nó do MME classifica os registros NAPTR render do RFC 3958

NAPTR record set

replacement service flag order preference

topoff.eth4.gw21.node.$ORIGIN x-3gpp-sgw:x-s5-gtp:x-s8-gtp "a" 100 999

topoff.eth4.gw01.node.$ORIGIN x-3gpp-sgw:x-s5-gtp:x-s8-gtp "a" 200 999

Lojas do MME

topoff.eth4.gw21.node.$ORIGIN services of x-3gpp-sgw:x-s5-gtp

topoff.eth4.gw01.node.$ORIGIN services of x-3gpp-sgw:x-s5-gtp

O MME tem agora a lista do candidato

topoff.eth4.gw21.node.$ORIGIN services of x-3gpp-sgw:x-s5-gtp

topoff.eth4.gw01.node.$ORIGIN services of x-3gpp-sgw:x-s5-gtp

Outra vez os registros A/AAAA estavam disponíveis na seção do registro adicional.

topoff.eth4.gw21.node.$ORIGIN. 3600 IN A 192.0.2.140

topoff.eth4.gw21.node.$ORIGIN. 3600 IN A 192.0.2.139

topoff.eth4.gw21.node.$ORIGIN. 3600 IN AAAA 2001:db8:0:26::

topoff.eth4.gw21.node.$ORIGIN. 3600 IN AAAA 2001:db8:0:27::

e

topoff.eth4.gw01.node.$ORIGIN. 3600 IN A 192.0.2.132

topoff.eth4.gw01.node.$ORIGIN. 3600 IN A 192.0.2.131

topoff.eth4.gw01.node.$ORIGIN. 3600 IN AAAA 2001:db8:0:1e::

topoff.eth4.gw01.node.$ORIGIN. 3600 IN AAAA 2001:db8:0:1f::

Da lista do candidato que resulta, um SGW é escolhido baseou em uma combinação destes critérios:

  • Cobertura máxima TA

  • Proximidade geográfica

  • Balanceamento de carga

  • Funcionalidade combinada PGW/SGW

  • Protocolos que são apoiados

Configurações ASR5x00

Esta seção descreve as configurações relevantes para o ASR5x00.

Protocolo S5/S8

Os protocolos S5 e S8 devem ser configuráveis para o MME na pela base HPLMN. Isto é usado a fim colocar em lista sucinta os registros de recurso que são retornados pelo servidor DNS. Somente os PGW que apoiam o protocolo configurado são considerados na seleção do gateway (GW). A configuração é colocada sob o perfil do Controle de chamadas (CC) que é associado com a política do operador.

Aqui está um exemplo:

[ingress]asr5000(config-call-control-profile-lmn)# plmn-protocol plmnid mcc <> mnc <>
{ [s5-protocol <[pmip | gtp] >] | [s8-protocol <[pmip | gtp]>] }

DNS

O sistema permite que um serviço do cliente de DNS seja configurado pelo contexto. O serviço do cliente de DNS a ser usado para a definição FQDN é nomeado sob o perfil CC e/ou o serviço do MME separadamente para o PGW e o SGW. No perfil CC, o nome de contexto é imperativo, porque o perfil CC não é anexado a nenhum contexto. No serviço do MME, o nome de contexto é opcional. Se nenhum nome é especificado, o contexto do serviço do MME está usado para o serviço DNS.

Perfil CC

Está aqui a configuração relevante para o perfil CC:

[ctxt]asr5000(config-call-control-profile-lmn)# dns-pgw context <name>

[ctxt]asr5000(config-call-control-profile-lmn)# dns-sgw context <name>

Serviço do MME

Está aqui a configuração relevante para o serviço do MME:

[ctxt]asr5000(config-mme-service)#dns pgw [context <name>]

[ctxt]asr5000(config-mme-service)#dns sgw [context <name>]

Configuração de cliente de DNS da amostra

Está aqui uma configuração de cliente de DNS da amostra no ASR5x00:

#(config-ctx)# ip name-servers 192.20.20.1 192.20.20.3

#(config-ctx)# dns-client xyz

bind address 192.20.20.2 port 6011

resolver retransmission-interval 3

resolver number-of-retries 2

cache ttl positive 86400

cache ttl negative 60

cache size central 50000

cache size local 1000

cache algorithm central FIFO

cache algorithm local LRU

no round-robin-answers

O procedimento da resolução de DNS para o S/P-GW está invocado somente quando a informação CLI que está mostrada no exemplo anterior é permitida. Se não, o endereço estático que é configurado no serviço do MME é usado.

Adicionalmente, se a resolução de DNS falha, a seguir o endereço estático que é configurado no serviço do MME é usado.

Critérios de seleção GW

Esta configuração é colocada sob o perfil CC que é associado com a política do operador. Decide os algoritmos de seleção que são usados a fim selecionar eventualmente um PGW/SGW dos registros de recurso que são retornados pelo DNS. Somente um dos critérios pode ser configurado em um momento.

Aqui está um exemplo:

[ctxt]asr5000(config-call-control-profile-lmn)# gw-selection [ topology |
collocation | pgw < weight > | sgw <weight> ]

Estão aqui algumas considerações importantes quando a colocação é o critério de seleção:

  • A colocação deve ser configurada para o PGW e a seleção SGW para que a colocação funcione corretamente.

  • A colocação é dada a prioridade mais alta. Ou seja mesmo se o grau de etiquetas que combinam entre um par NON-arranjado PGW/SGW pôde ser mais alto do que um par arranjado, o par arranjado é selecionado.

  • Os nomes de host com etiquetas do topon e do topoff são considerados na colocação.

  • A colocação significa implicitamente o fósforo da topologia. Se um nó arranjado PGW/SGW não pode ser encontrado, a seguir os Nós topologicamente os mais próximos estão escolhidos em seguida.

Nota: O dependente em cima das exigências do operador, esta aproximação pôde mudar no futuro a fim separar os critérios de verificação de repetição de dados da colocação e da topologia.

Configurações adicionais

Estão aqui algumas configurações adicionais que você deve executar no ASR5x00:

context ingress

ip domain-lookup

ip name-servers <ip address of the Linux machine (it should be running bind)>

dns-client dns

bind address 192.80.10.2

round-robin-answers

exit

mme-service <mmesvc>

dns pgw dns-service dns context ingress

dns sgw dns-service dns context ingress

exit

Comandos de Troubleshooting úteis

Você pode usar estes comandos a fim pesquisar defeitos o mecanismo do MME:

#dns-client query client-name dns query-type NAPTR query-name
<starent.com.apn.epc.mncxxx.mccxxx.3gppnetwork.org>


#show dns-client <dns1> statistics 

#show dns-client cache client <>

Informações Relacionadas


Discussões relacionadas da comunidade de suporte da Cisco

A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.


Document ID: 119015