欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • Kamailio实战
      • 作者:杜金房//吕佳娉|责编:孙海亮
      • 出版社:机械工业
      • ISBN:9787111712473
      • 出版日期:2022/10/01
      • 页数:281
    • 售价:39.6
  • 内容大纲

        这是一本帮助读者真正把Kamailio用起来的专业工具书、百科全书,由《FreeSWITCH权威指南》的作者、世界知名通信专家、Kamailio中文社区联合创始人、FreeSWITCH-CN中文社区创始人兼执行主席撰写,来自上海交大、中南大学等多所高校以及声网、腾讯云等国内知名企业或社区的多位通信专家鼎力推荐。
        本书涵盖Kamailio核心概念、运行原理、基本配置、路由转发逻辑、路由脚本撰写、数据库操作、性能测试、安全等内容,并包含大量实战案例,案例中的参数都可以拿来直接使用。
        第1章重点介绍与SIP相关的基本概念和网络拓扑,以及Kamailio路由脚本的基本架构,可帮助读者全面认识Kamailio。
        第2章和第3章深入讲解Kamailio的配置文件、基本概念和核心组件,以帮助读者深入理解Kamailio,并为后面把Kamailio用起来打好基础。
        第4~7章分别介绍KEMI、Kamailio的运行环境、Kamailio做路由转发的方法,以及Kamailio中数据库的操作与使用方法,同时配有大量实际案例,这部分可帮助读者快速把Kamailio用起来。其中包括路由脚本编写、命令行工具使用、调试手段、无状态转发和有状态转发、并行转发和串行转发、有负载均衡、API路由等重点内容。
        第8章用15个案例进一步解读Kamailio中常见的模块及其用法,以及一些高级话题,如SBC、媒体代理和拓扑隐藏、WebRTC相关的信令及媒体转换等。
        第9章介绍与Kamailio性能相关的知识,包括构建高性能SIP服务器的注意事项以及Kamailio具有高性能的秘密。
        第10章分享实际生产系统中常见的安全问题,并给出对应的解决方案。
        另外,为了便于读者快速上手,本书还以附录的形式对Kamailio安装方法,以及FreeSWITCH、Lua、Docker入门知识进行了简单介绍。
  • 作者介绍

  • 目录

    推荐序一
    推荐序二
    前言
    第1章  Kamailio与SIP
      1.1  什么是Kamailio
      1.2  背景
      1.3  SIP
        1.3.1  SIP基础
        1.3.2  SIP的基本概念和相关元素
        1.3.3  SIP的基本方法和头域
        1.3.4  SIP URI
        1.3.5  SDP和SOA
        1.3.6  SIP承载
        1.3.7  事务、对话和会话
        1.3.8  Stateless与Stateful
        1.3.9  严格路由和松散路由
        1.3.10  Record-Route
      1.4  Kamailio基本架构
    第2章  理解Kamailio配置文件
      2.1  基本配置文件
      2.2  原生脚本
      2.3  Lua脚本
      2.4  Lua脚本的其他写法
    第3章  Kamailio基本概念和组件
      3.1  core详解
        3.1.1  全局参数部分
        3.1.2  模块设置部分
        3.1.3  路由块部分
        3.1.4  通用元素
        3.1.5  核心关键字
        3.1.6  核心值
        3.1.7  核心参数
        3.1.8  DNS相关参数
        3.1.9  TCP相关参数或选项
        3.1.10  TLS相关参数
        3.1.11  SCTP概述
        3.1.12  UDP相关参数
        3.1.13  核心函数
        3.1.14  自定义全局参数
        3.1.15  脚本语句
        3.1.16  脚本操作符
      3.2  其他概念和组件
        3.2.1  伪变量
        3.2.2  htable
        3.2.3  AVP
        3.2.4  模块
    第4章  KEMI详解
      4.1  KEMI Lua入口
      4.2  KEMI函数
        4.2.1  函数整型返回值规则

        4.2.2  函数返回0的情况
        4.2.3  模块函数
      4.3  在C函数中导出KEMI函数
      4.4  KEMI和伪变量
        4.4.1  伪变量静态名称限制
        4.4.2  针对特定伪变量的函数
      4.5  核心和pv模块中的函数
        4.5.1  核心中的常用函数
        4.5.2  pv模块相关函数
        4.5.3  KSR.hdr子模块
        4.5.4  特殊的KEMI函数
      4.6  原生脚本与KEMI对比
        4.6.1  函数名
        4.6.2  函数的参数
        4.6.3  停止当前脚本执行
      4.7  其他
    第5章  Kamailio运行环境与实例
      5.1  运行Kamailio
        5.1.1  环境准备
        5.1.2  在命令行上运行Kamailio
        5.1.3  将配置文件保存到宿主机
        5.1.4  使用Docker Compose管理容器
      5.2  将SIP呼叫转发到FreeSWITCH
      5.3  从简单的路由脚本开始
      5.4  Kamailio命令行工具
        5.4.1  kamctl
        5.4.2  kamdbctl
        5.4.3  kamcmd
        5.4.4  kamcli
        5.4.5  sipexer
      5.5  Web管理界面
      5.6  调试与排错
        5.6.1  使用sipdump模块跟踪SIP消息
        5.6.2  其他SIP相关工具简介
    第6章  使用Kamailio做SIP路由转发
      6.1  什么是路由
      6.2  基本路由转发
        6.2.1  简单、安全的路由转发
        6.2.2  无状态转发
        6.2.3  有状态转发
        6.2.4  并行转发
        6.2.5  串行转发
      6.3  使用dispatcher模块做路由转发和负载均衡
        6.3.1  基本用法
        6.3.2  dispatcher模块
        6.3.3  优先级路由及备用路由
        6.3.4  按权重路由
        6.3.5  特殊参数
        6.3.6  从数据库中加载
      6.4  呼叫从哪里来

        6.4.1  根据IP地址段判断
        6.4.2  使用dispatcher模块判断
        6.4.3  使用permissions模块判断
        6.4.4  使用geoip2模块判断
      6.5  API路由
        6.5.1  通过HTTP查询路由
        6.5.2  rtjson
        6.5.3  evapi
      6.6  在KEMI脚本中调用原生脚本中的路由块
    第7章  数据库操作
      7.1  初始化数据库
        7.1.1  PostgreSQL
        7.1.2  MySQL
      7.2  配置数据库连接
      7.3  在路由时进行SQL查询
      7.4  其他函数和伪变量
      7.5  常用数据库表结构
    第8章  15个典型的路由示例
      8.1  通过号码分析树进行路由
      8.2  号码翻译
      8.3  低成本路由
      8.4  前缀路由
      8.5  动态路由
      8.6  缩位拨号
      8.7  通过别名数据库路由
      8.8  运营商路由
      8.9  字冠域名翻译
      8.10  用户注册和查询
      8.11  向外注册
      8.12  更多AVP示例
      8.13  话单
      8.14  SBC
        8.14.1  代理注册
        8.14.2  NAT穿透
        8.14.3  代理媒体
        8.14.4  使用FreeSWITCH做B2BUA模式
        8.14.5  拓扑隐藏
      8.15  WebRTC
    第9章  性能
      9.1  性能测试
        9.1.1  早期的性能测试
        9.1.2  KEMI性能测试
        9.1.3  使用VoIPPerf进行性能测试
      9.2  拆解Kamailio高性能信令服务设计
        9.2.1  懒解析
        9.2.2  内存管理
        9.2.3  并发和同步
        9.2.4  定时器和异步操作
        9.2.5  缓存
        9.2.6  异步处理

        9.2.7  其他
    第10章  安全
      10.1  基本安全手段和策略
      10.2  限呼
        10.2.1  限制User-Agent头域
        10.2.2  限呼某些目的地
        10.2.3  限制高频呼叫
        10.2.4  限制太多的错误鉴权
        10.2.5  限制并发呼叫
      10.3  TLS
        10.3.1  理解TLS证书及密钥
        10.3.2  自签名证书
        10.3.3  在Kamailio中配置TLS
        10.3.4  TLS连接测试
        10.3.5  自制CA根证书
        10.3.6  其他
      10.4  iptables
      10.5  其他安全建议和相关链接
    附录A  安装Kamailio
    附录B  FreeSWITCH快速入门
    附录C  Lua快速入门
    附录D  Docker简介及常用命令
    附录E  模块索引表
    后记