Admirável Mundo Novo: Tudo Sobre Asterisk, OpenSER, Linux e Tecnologias de Voz sobre IP: RFC 3261




Muito Bem Vindo

Prezado Leitor, a proposta desse Blog é compartilhar conhecimento com as pessoas que trabalham com Linux, Asterisk, OpenSER, e com tecnologia de voz sobre a rede IP em geral, através de tutoriais, dicas, howto, notícias entre outros assuntos.

Atente para termo de uso do conteúdo do blog no rodapé da página.

Mostrando postagens com marcador RFC 3261. Mostrar todas as postagens
Mostrando postagens com marcador RFC 3261. Mostrar todas as postagens

segunda-feira, 11 de julho de 2011

RFC 3261 Português Página 1

Grupo de Trabalho em Rede                                               J. Rosenberg
Request for Comments: 3261                                                dynamicsoft
Obsoleta a: 2543                                                       H. Schulzrinne
Categoria: Standards Track                                                Columbia U.
                                                                         G. Camarillo
                                                                             Ericsson
                                                                          A. Johnston
                                                                             WorldCom
                                                                          J. Peterson
                                                                              Neustar
                                                                            R. Sparks
                                                                          dynamicsoft
                                                                           M. Handley
                                                                                 ICIR
                                                                          E. Schooler
                                                                                 AT&T
                                                                           Junho 2002
             SIP: Session Initiation Protocol
Status desse Memorando
Esse documento especifica um protocolo que tramita na trilha de padronizações pela comunidade Internet, e solicita discussões e sugestões para melhorias. Favor consultar a edição corrente do "Internet Official Protocol Standards" (STD 1) para o estado da padronização e status desse protocolo. Distribuição desse memorando é ilimitada.
Aviso sobre Direitos Autorais
Direitos Autorais (C) Da Internet Society (2002). Todos os Direitos Reservados.
Resumo
Esse documento descreve o Session Initiation Protocol (SIP), um protocolo de controle (sinalização) da camada de aplicação para criar, modificar e terminar sessões com um ou mais participantes. Essas sessões incluem chamadas telefônicas pela Internet, distribuição multimídia e conferências multimídia.
Requisições INVITE do SIP usadas para criar sessões transporta descrições de sessão que permite aos participantes estabelecer acordo sobre um conjunto de tipos de mídias compatíveis. O SIP faz uso de elementos chamados servidores proxy para ajudar rotear requisições ao local atual do usuário, autenticar e autorizar usuários para serviços, implementar políticas de roteamento de chamadas pelo provedor e fornecer recursos aos usuários. O SIP também fornece uma função de registro que permite aos usuários atualizar suas localizações correntes para uso por servidores proxy. O SIP funciona no topo de vários protocolos de transporte diferentes.
Rosenberg, et. al.          Standards Track                     [Página 1]



RFC 3261 Português Página 2

RFC 3261            SIP: Session Initiation Protocol           Junho 2002
Tabela de Conteúdo
   1          Introdução ..........................................    8
   2          Visão geral da Funcionalidade SIP ...................    9
   3          Terminologia ........................................   10
   4          Visão geral da Operação .............................   10
   5          Estrutura do Protocolo ..............................   18
   6          Definições ..........................................   20
   7          Mensagens do SIP ....................................   26
   7.1        Requisições .........................................   27
   7.2        Respostas ...........................................   28
   7.3        Campos-Cabeçalhos ...................................   29
   7.3.1      Formato de Campo-Cabeçalho ..........................   30
   7.3.2      Classificaçao de Campo-Cabeçalho ....................   32
   7.3.3      Forma Compacta ......................................   32
   7.4        Corpos ..............................................   33
   7.4.1      Tipo de Corpo de Mensagem ...........................   33
   7.4.2      Tamanho de Corpo de Mensagem ........................   33
   7.5        Enquadramento de Mensagens do SIP ...................   34
   8          Comportamento Geral do Agente-Usuário ...............   34
   8.1        Comportamento do UAC ................................   35
   8.1.1      Gerando a Requisição ................................   35
   8.1.1.1    Request-URI .........................................   35
   8.1.1.2    To ..................................................   36
   8.1.1.3    From ................................................   37
   8.1.1.4    Call-ID .............................................   37
   8.1.1.5    CSeq ................................................   38
   8.1.1.6    Max-Forwards ........................................   38
   8.1.1.7    Via .................................................   39
   8.1.1.8    Contact .............................................   40
   8.1.1.9    Supported e Require .................................   40
   8.1.1.10   Componentes Adicionais de Mensagem ..................   41
   8.1.2      Enviando a Requisição ...............................   41
   8.1.3      Processando Respostas ...............................   42
   8.1.3.1    Erros da Camada de Transação ........................   42
   8.1.3.2    Respostas Não-Reconhecidas ..........................   42
   8.1.3.3    Via's ...............................................   43
   8.1.3.4    Processando Respostas 3xx ...........................   43
   8.1.3.5    Processando Respostas 4xx ...........................   45
   8.2        Comportamento do UAS ................................   46
   8.2.1      Inspeção de Método ..................................   46
   8.2.2      Inspeção de Cabeçalho ...............................   46
   8.2.2.1    To e Request-URI ....................................   46
   8.2.2.2    Requisições Fundidas ................................   47
   8.2.2.3    Require .............................................   47
   8.2.3      Processando Conteúdo ................................   48
   8.2.4      Aplicando Extensões .................................   49
   8.2.5      Processando a Requisição ............................   49
Rosenberg, et. al.          Standards Track                     [Página 2]


RFC 3261 Português Página 3

RFC 3261            SIP: Session Initiation Protocol           Junho 2002
   8.2.6      Gerando a Resposta ..................................   49
   8.2.6.1    Enviando uma Resposta Provisional ...................   49
   8.2.6.2    Cabeçalhos e Tags ...................................   50
   8.2.7      Comportamento do UAS Stateless ......................   50
   8.3        Servidores Redirect .................................   51
   9          Cancelando uma Requisição ...........................   53
   9.1        Comportamento do Cliente ............................   53
   9.2        Comportamento do Servidor ...........................   55
   10         Pedidos de Registro .................................   56
   10.1       Visão Geral .........................................   56
   10.2       Construindo a Requisição REGISTER ...................   57
   10.2.1     Adicionando Bindings ................................   59
   10.2.1.1   Setando o Intervalo Expiração de Endereços de Contato   60
   10.2.1.2   Preferências entre Endereços de Contato .............   61
   10.2.2     Removendo Bindings ..................................   61
   10.2.3     Buscando Bindings ...................................   61
   10.2.4     Atualização Bindings ................................   61
   10.2.5     Setando o Clock Interno .............................   62
   10.2.6     Descobrindo um Registrador ..........................   62
   10.2.7     Transmitindo uma Requisição .........................   62
   10.2.8     Respostas de Erro ...................................   63
   10.3       Processando Requisições REGISTER ....................   63
   11         Consultando Capacidades .............................   66
   11.1       Construção de Requisição OPTIONS ....................   67
   11.2       Processando Requisição OPTIONS ......................   68
   12         Diálogos ............................................   69
   12.1       Criação de um Diálogo ...............................   70
   12.1.1     Comportamento do UAS ................................   70
   12.1.2     Comportamento do UAC ................................   71
   12.2       Requisições dentro de um Diálogo ....................   72
   12.2.1     Comportamento do UAC ................................   73
   12.2.1.1   Gerando a Requisição ................................   73
   12.2.1.2   Processando as Respostas ............................   75
   12.2.2     Comportamento do UAS ................................   76
   12.3       Terminação de um Diálogo ............................   77
   13         Iniciando uma Sessão ................................   77
   13.1       Visão Geral .........................................   77
   13.2       Processamento do UAC ................................   78
   13.2.1     Criando o INVITE Inicial ............................   78
   13.2.2     Processando Respostas INVITE ........................   81
   13.2.2.1   Respostas 1xx .......................................   81
   13.2.2.2   Respostas 3xx .......................................   81
   13.2.2.3   Respostas 4xx, 5xx e 6xx ............................   81
   13.2.2.4   Respostas 2xx .......................................   82
   13.3       Processamento do UAS ................................   83
   13.3.1     Processamento do INVITE .............................   83
   13.3.1.1   Progresso ...........................................   84
   13.3.1.2   O INVITE é Redirecionado ............................   84
Rosenberg, et. al.          Standards Track                     [Página 3]



RFC 3261 Português Página 4

RFC 3261            SIP: Session Initiation Protocol           Junho 2002
   13.3.1.3   O INVITE é Rejeitado ................................   85
   13.3.1.4   O INVITE é Aceito ...................................   85
   14         Modificando uma Sessão Existente ....................   86
   14.1       Comportamento do UAC ................................   86
   14.2       Comportamento do UAS ................................   88
   15         Terminando uma Sessão ...............................   89
   15.1       Terminando uma Sessão com uma Requisição BYE ........   90
   15.1.1     Comportamento do UAC ................................   90
   15.1.2     Comportamento do UAS ................................   91
   16         Comportamento do Proxy ..............................   91
   16.1       Visão Geral .........................................   91
   16.2       Proxy Stateful ......................................   92
   16.3       Validação de Requisição .............................   94
   16.4       Preprocessando Informação de Route ..................   96
   16.5       Determinando Alvos de Requisição ....................   97
   16.6       Encaminhando Requisição .............................   99
   16.7       Processando Resposta ................................  107
   16.8       Processando o Timer C ...............................  114
   16.9       Tratando Erros de Transporte ........................  115
   16.10      Processando o CANCEL ................................  115
   16.11      Proxy Stateless .....................................  116
   16.12      Resumo do Processamento do Route no Proxy ...........  118
   16.12.1    Exemplos ............................................  118
   16.12.1.1  Trapezóide SIP Básico ...............................  118
   16.12.1.2  Atravessando um Proxy Strict-Routing ................  120
   16.12.1.3  Reescrevendo Valores do Campo-Cabeçalho Record-Route   121
   17         Transações ..........................................  122
   17.1       Transação Cliente ...................................  124
   17.1.1     Transação INVITE Cliente ............................  125
   17.1.1.1   Visão Geral da Transação INVITE .....................  125
   17.1.1.2   Descrição Formal ....................................  125
   17.1.1.3   Construção da Requisição ACK ........................  129
   17.1.2     Transação Não-INVITE Cliente ........................  130
   17.1.2.1   Visão Geral da Transação Não-INVITE .................  130
   17.1.2.2   Descrição Formal ....................................  131
   17.1.3     Conferindo Respostas nas Transações Clientes ........  132
   17.1.4     Tratando Erros de Transporte ........................  133
   17.2       Transação Servidor ..................................  134
   17.2.1     Transação INVITE Servidor ...........................  134
   17.2.2     Transação Não-INVITE Servidor .......................  137
   17.2.3     Conferindo Requisições nas Transações Servidor ......  138
   17.2.4     Tratando Erros de Transporte ........................  141
   18         Transporte ..........................................  141
   18.1       Clientes ............................................  142
   18.1.1     Enviando Requisições ................................  142
   18.1.2     Recebendo Respostas .................................  144
   18.2       Servidores ..........................................  145
   18.2.1     Recebendo Requisições ...............................  145
Rosenberg, et. al.          Standards Track                     [Página 4]



RFC 3261 Português Página 5

RFC 3261            SIP: Session Initiation Protocol           Junho 2002
   18.2.2     Enviando Respostas ..................................  146
   18.3       Enquadramento .......................................  147
   18.4       Tratando Erro .......................................  147
   19         Componentes Comuns de Mensagem ......................  147
   19.1       SIP e SIPS Uniform Resource Indicators ..............  148
   19.1.1     Componentes URI do SIP e do SIPS ....................  148
   19.1.2     Exigências para Escapar Caractere ...................  152
   19.1.3     Exemplo de URI's do SIP e do SIPS ...................  153
   19.1.4     Comparação de URI ...................................  153
   19.1.5     Formando Requisições a partir de um URI .............  156
   19.1.6     Relacionando URI's do SIP e URL's de tel ............  157
   19.2       Tags Option .........................................  158
   19.3       Tags ................................................  159
   20         Campos-Cabeçalhos ...................................  159
   20.1       Accept ..............................................  161
   20.2       Accept-Encoding .....................................  163
   20.3       Accept-Language .....................................  164
   20.4       Alert-Info ..........................................  164
   20.5       Allow ...............................................  165
   20.6       Authentication-Info .................................  165
   20.7       Authorization .......................................  165
   20.8       Call-ID .............................................  166
   20.9       Call-Info ...........................................  166
   20.10      Contact .............................................  167
   20.11      Content-Disposition .................................  168
   20.12      Content-Encoding ....................................  169
   20.13      Content-Language ....................................  169
   20.14      Content-Length ......................................  169
   20.15      Content-Type ........................................  170
   20.16      CSeq ................................................  170
   20.17      Date ................................................  170
   20.18      Error-Info ..........................................  171
   20.19      Expires .............................................  171
   20.20      From ................................................  172
   20.21      In-Reply-To .........................................  172
   20.22      Max-Forwards ........................................  173
   20.23      Min-Expires .........................................  173
   20.24      MIME-Version ........................................  173
   20.25      Organization ........................................  174
   20.26      Priority ............................................  174
   20.27      Proxy-Authenticate ..................................  174
   20.28      Proxy-Authorization .................................  175
   20.29      Proxy-Require .......................................  175
   20.30      Record-Route ........................................  175
   20.31      Reply-To ............................................  176
   20.32      Require .............................................  176
   20.33      Retry-After .........................................  176
   20.34      Route ...............................................  177
Rosenberg, et. al.          Standards Track                     [Página 5]


RFC 3261 Português Página 6

RFC 3261            SIP: Session Initiation Protocol           Junho 2002
   20.35      Server ..............................................  177
   20.36      Subject .............................................  177
   20.37      Supported ...........................................  178
   20.38      Timestamp ...........................................  178
   20.39      To ..................................................  178
   20.40      Unsupported .........................................  179
   20.41      User-Agent ..........................................  179
   20.42      Via .................................................  179
   20.43      Warning .............................................  180
   20.44      WWW-Authenticate ....................................  182
   21         Códigos de Resposta .................................  182
   21.1       Provisional 1xx .....................................  182
   21.1.1     100 Trying ..........................................  183
   21.1.2     180 Ringing .........................................  183
   21.1.3     181 Call Is Being Forwarded .........................  183
   21.1.4     182 Queued ..........................................  183
   21.1.5     183 Session Progress ................................  183
   21.2       Successful 2xx ......................................  183
   21.2.1     200 OK ..............................................  183
   21.3       Redirection 3xx .....................................  184
   21.3.1     300 Multiple Choices ................................  184
   21.3.2     301 Moved Permanently ...............................  184
   21.3.3     302 Moved Temporarily ...............................  184
   21.3.4     305 Use Proxy .......................................  185
   21.3.5     380 Alternative Service .............................  185
   21.4       Request Failure 4xx .................................  185
   21.4.1     400 Bad Request .....................................  185
   21.4.2     401 Unauthorized ....................................  185
   21.4.3     402 Payment Required ................................  186
   21.4.4     403 Forbidden .......................................  186
   21.4.5     404 Not Found .......................................  186
   21.4.6     405 Method Not Allowed ..............................  186
   21.4.7     406 Not Acceptable ..................................  186
   21.4.8     407 Proxy Authentication Required ...................  186
   21.4.9     408 Request Timeout .................................  186
   21.4.10    410 Gone ............................................  187
   21.4.11    413 Request Entity Too Large ........................  187
   21.4.12    414 Request-URI Too Long ............................  187
   21.4.13    415 Unsupported Media Type ..........................  187
   21.4.14    416 Unsupported URI Scheme ..........................  187
   21.4.15    420 Bad Extension ...................................  187
   21.4.16    421 Extension Required ..............................  188
   21.4.17    423 Interval Too Brief ..............................  188
   21.4.18    480 Temporarily Unavailable .........................  188
   21.4.19    481 Call/Transaction Does Not Exist .................  188
   21.4.20    482 Loop Detected ...................................  188
   21.4.21    483 Too Many Hops ...................................  189
   21.4.22    484 Address Incomplete ..............................  189
Rosenberg, et. al.          Standards Track                     [Página 6]



RFC 3261 Português Página 7

RFC 3261            SIP: Session Initiation Protocol           Junho 2002
   21.4.23    485 Ambiguous .......................................  189
   21.4.24    486 Busy Here .......................................  189
   21.4.25    487 Request Terminated ..............................  190
   21.4.26    488 Not Acceptable Here .............................  190
   21.4.27    491 Request Pending .................................  190
   21.4.28    493 Undecipherable ..................................  190
   21.5       Server Failure 5xx ..................................  190
   21.5.1     500 Server Internal Error ...........................  190
   21.5.2     501 Not Implemented .................................  191
   21.5.3     502 Bad Gateway .....................................  191
   21.5.4     503 Service Unavailable .............................  191
   21.5.5     504 Server Time-out .................................  191
   21.5.6     505 Version Not Supported ...........................  192
   21.5.7     513 Message Too Large ...............................  192
   21.6       Global Failures 6xx .................................  192
   21.6.1     600 Busy Everywhere .................................  192
   21.6.2     603 Decline .........................................  192
   21.6.3     604 Does Not Exist Anywhere .........................  192
   21.6.4     606 Not Acceptable ..................................  192
   22         Uso de Autenticação HTTP ............................  193
   22.1       Infra-estrutura .....................................  193
   22.2       Autenticação Usuário-a-Usuário ......................  195
   22.3       Autenticação Proxy-a-Usuário ........................  197
   22.4       O Esquema de Autenticação Digest ....................  199
   23         S/MIME ..............................................  201
   23.1       Certificados S/MIME .................................  201
   23.2       Troca de Chave S/MIME ...............................  202
   23.3       Protegendo Corpos MIME ..............................  205
   23.4       Privacidade e Integridade do Cabeçalho SIP usando S/MIME:
              Tunelando o SIP .....................................  207
   23.4.1     Propriedades Integridade e Confidencialidade de
              Cabeçalhos SIP ......................................  207
   23.4.1.1   Integridade .........................................  207
   23.4.1.2   Confidencialidade ...................................  208
   23.4.2     Tunelando Integridade e Autenticação ................  209
   23.4.3     Tunelando Criptografia ..............................  211
   24         Exemplos ............................................  213
   24.1       Ação Registro .......................................  213
   24.2       Estabelecimento de Sessão ...........................  214
   25         Augmented BNF para o Protocolo SIP ..................  219
   25.1       Regras Básicas ......................................  219
   26         Considerações de Segurança: Modelo Ameaça e Segurança
              Recomendações de Uso ................................  232
   26.1       Modelos de Ataques e Ameaça .........................  233
   26.1.1     Seqüestro de Registro ...............................  233
   26.1.2     Passando-se por um Servidor .........................  234
   26.1.3     Adulteração de Corpos de Mensagem ...................  235
   26.1.4     Derrubando Sessões ..................................  235
Rosenberg, et. al.          Standards Track                     [Página 7]

RFC 3261 Português Página 8

RFC 3261            SIP: Session Initiation Protocol           Junho 2002
   26.1.5     Negação de Serviço e Amplificação ...................  236
   26.2       Mecanismos de Segurança .............................  237
   26.2.1     Segurança nas Camadas de Transporte e Rede ..........  238
   26.2.2     Esquema URI do SIPS .................................  239
   26.2.3     Autenticação HTTP ...................................  240
   26.2.4     S/MIME ..............................................  240
   26.3       Implementando Mecanismos de Segurança ...............  241
   26.3.1     Exigências para Implementadores do SIP ..............  241
   26.3.2     Soluções de Segurança ...............................  242
   26.3.2.1   Registro ............................................  242
   26.3.2.2   Requisições Interdomínio ............................  243
   26.3.2.3   Requisições Peer-to-Peer ............................  245
   26.3.2.4   Proteção contra DoS .................................  246
   26.4       Limitações ..........................................  247
   26.4.1     HTTP Digest .........................................  247
   26.4.2     S/MIME ..............................................  248
   26.4.3     TLS .................................................  249
   26.4.4     URIs do SIPS ........................................  249
   26.5       Privacidade .........................................  251
   27         Considerações IANA ..................................  252
   27.1       Tags Option .........................................  252
   27.2       Warn-Codes ..........................................  252
   27.3       Nomes de Campo-Cabeçalho ............................  253
   27.4       Método e Códigos de Resposta ........................  253
   27.5       O tipo "message/sip" do MIME ........................  254
   27.6       New Content-Disposition Parameter Registrations .....  255
   28         Mudanças Desde a RFC 2543 ...........................  255
   28.1       Mudanças Funcionais Relevantes ......................  255
   28.2       Mudanças Funcionais Menores .........................  260
   29         Referências Normativas ..............................  261
   30         Referências Informativas ............................  262
   A          Tabela de Valores do Timer ..........................  265
   Agradecimentos .................................................  266
   Endereços do Autores............................................  267
   Declaração Completa de Direitos Autorais Full ..................  269
1 Introdução
Existem muitas aplicações da Internet que exigem a criação e o gerenciamento de uma sessão, onde uma sessão é considerada como a troca de dados entre uma associação de participantes. A implementação dessas aplicações é complicada devido às práticas dos participantes: os usuários podem mover-se entre pontos remotos, podem ser endereçados por múltiplos nomes, e eles podem se comunicar em diversas mídias diferentes - às vezes simultaneamente. Numerosos protocolos foram escritos que transportam várias formas de sessão de dados multimídia em tempo real, como voz, vídeo ou mensagens de texto. O Session Initiation Protocol (SIP) trabalha em harmonia com esses protocolos,
Rosenberg, et. al.          Standards Track                     [Página 8]






Creative Commons License
Admirável Mundo Novo: Tudo Sobre Asterisk, OpenSER, Linux e Tecnologias de Voz sobre IP
by Cléviton Mendes de Araújo is licensed under a Creative Commons Atribuição 2.5 Brasil License.