一、 OpenSIPS安装部署
1.1. 下载OpenSIPS v2.2
1.1.1. 从网页获取分支文件
1.1.2. 从sourceForge获取tar包
1.2. 编译和安装opensips
1.2.1. 视频教程
1.2.2. 编译
1.2.2.1. 配置编译项
1.2.2.2. 配置具有外部依赖的编译项
1.2.3. 安装
1.2.3.1. 减少编译时间
1.2.3.2. 配置安装路径
1.3. 部署数据库
1.3.1. 配置db证书
1.3.2. 创建数据库
二、 OpenSIPS配置
2.
2.1. RC文件
2.2. 配置文件
2.3. 产生配置文件
2.3.1. 使用menuconfig工具
2.3.2. 配置文件的类型
2.3.3. 签名产生的脚本的编辑
2.4. 脚本格式
2.4.1. 全局参数
2.4.2. 模块部分
2.4.3. 路由逻辑
2.4.4. 全局参数
2.4.5. 核心关键字Core keywords
2.4.5.1. af
2.4.5.2. dst_ip
2.4.5.3. dst_port
2.4.5.4. from_uri
2.4.5.5. method
2.4.5.6. msg:len
2.4.5.7. $retcode
2.4.5.8. proto
2.4.5.9. status
2.4.5.10. src_ip
2.4.5.11. src_port
2.4.5.12. to_uri
2.4.5.13. uri
2.4.6. 核心表达式Core Values
2.4.6.1. INET
2.4.6.2. INET6
2.4.6.3. TCP
2.4.6.4. UDP
2.4.6.5. max_len
2.4.6.6. myself
2.4.6.7. null
2.4.7. 核心参数Core parameters
2.4.7.1. abort_on_assert
2.4.7.2. advertised_address
2.4.7.3. advertised_port
2.4.7.4. alias
2.4.7.5. auto_aliases
2.4.7.6. bin_listen(Removed in OpenSIPS 2.2)
2.4.7.7. bin_children(Removed in OpenSIPS 2.2)
2.4.7.8. cfg_file
2.4.7.9. cfg_line
2.4.7.10. check_via
2.4.7.11. children
2.4.7.12. chroot
2.4.7.13. debug_mode
2.4.7.14. db_version_table
2.4.7.15. db_default_url
2.4.7.16. db_max_async_connections
2.4.7.17. debug(Removed in OpenSIPS 2.2)
2.4.7.18. disable_503_translation
2.4.7.19. disable_core_dump
2.4.7.20. disable_dns_blacklist
2.4.7.21. disable_dns_failover
2.4.7.22. disable_stateless_fwd
2.4.7.23. dns
2.4.7.24. dns_retr_time
2.4.7.25. dns_servers_no
2.4.7.26. dns_try_ipv6
2.4.7.27. dns_try_napt
2.4.7.28. dns_use_search_list
2.4.7.29. dst_blacklist
2.4.7.30. enable_asserts
2.4.7.31. event_pkg_threshold
2.4.7.32. event_shm_threshold
2.4.7.33. exec_dns_threshold
2.4.7.34. exec_msg_threshold
2.4.7.35. fork(Removed in OpenSIPS 2.2)
2.4.7.36. group gid(Removed in OpenSIPS 2.2)
2.4.7.37. include_file
2.4.7.38. import_file
2.4.7.39. listen
2.4.7.40. log_facility
2.4.7.41. log_level
2.4.7.42. log_name
2.4.7.43. log_stderror
2.4.7.44. max_while_loops
2.4.7.45. maxbuffer
2.4.7.46. mem-group
2.4.7.47. mem_warning
2.4.7.48. mem_warming_percentage
2.4.7.49. mem_warming_pattern_file
2.4.7.50. memdump | mem_dump
2.4.7.51. memlog | mem_log
2.4.7.52. mcast_loopback
2.4.7.53. mcast_ttl
2.4.7.54. mhomed
2.4.7.55. mpath
2.4.7.56. open_file_limit
2.4.7.57. poll_method
2.4.7.58. port
2.4.7.59. query_buffer_size
2.4.7.60. query_flush_time
2.4.7.61. rev_dns
2.4.7.62. server_header
2.4.7.63. server_signature
2.4.7.64. shm_hash_split_percentage
2.4.7.65. shm_secondary_hash_size
2.4.7.66. sip_warning
2.4.7.67. tcp_children
2.4.7.68. tcp_accept_aliases
2.4.7.69. tcp_listen_backlog
2.4.7.70. tcp_connect_timeout
2.4.7.71. tcp_connection_lifetime
2.4.7.72. tcp_max_connections
2.4.7.73. tcp_max_msg_time
2.4.7.74. tcp_no_new_conn_bflag
2.4.7.75. tcp_threshold
2.4.7.76. tcp_keepalive
2.4.7.77. tcp_keepcount
2.4.7.78. tcp_keepidle
2.4.7.79. tcp_keepinterval
2.4.7.80. tls_ca_list
2.4.7.81. tls_certificate
2.4.7.82. tls_ciphers_list
2.4.7.83. tls_domain
2.4.7.84. tls_handshake_timeout
2.4.7.85. tls_log
2.4.7.86. tls_method
2.4.7.87. tls_port_no
2.4.7.88. tls_private_key
2.4.7.89. tls_require_certificate
2.4.7.90. tls_send_timeout
2.4.7.91. tls_verify
2.4.7.92. tos
2.4.7.93. user uid(在opensips 2.2弃用)
2.4.7.94. user_agent_header
2.4.7.95. wdir
2.4.7.96. xlog_buf_size
2.4.7.97. xlog_force_color
2.4.7.98. xlog_default_level
2.4.8. 路由类型
2.4.8.1. route
2.4.8.2. branch_route
2.4.8.3. failure_route
2.5. 脚本转换
2.5.1. 前言
2.5.2. 字符串转换
2.5.2.1. {s.len}
2.5.2.2. {s.int}
2.5.2.3. {s.md5}
2.5.2.4. {s.substr,offset,length}
2.5.2.5. {s.select,index,separator}
2.5.2.6. {s.encode.hexa}
2.5.2.7. {s.decode.hexa}
2.5.2.8. {s.escape.common}
2.5.2.9. {s.unescape.common}
2.5.2.10. {s.escape.user}
2.5.2.11. {s.unescape.user}
2.5.2.12. {s.escape.param}
2.5.2.13. {s.unescape.param}
2.5.2.14. {s.tolower}
2.5.2.15. {s.toupper}
2.5.2.16. {s.index}
2.5.2.17. {s.rindex}
2.5.2.18. {s.fill.left, tok, len}
2.5.2.19. {s.fill.right, tok, len}
2.5.2.20. {s.width, len}
2.5.2.21. {s.trim}
2.5.2.22. {s.trimr}
2.5.2.23. {s.triml}
2.5.2.24. {s.dec2hex}
2.5.2.25. {s.hex2dec}
2.5.2.26. {s.b64encode}
2.5.2.27. {s.b64decode}
2.5.2.28. {s.xor,secret}
2.5.3. URI转换
2.5.3.1. {uri.user}
2.5.3.2. {uri.host}
2.5.3.3. {uri.passwd}
2.5.3.4. {uri.port}
2.5.3.5. {uri.params}
2.5.3.6. {uri.param,name}
2.5.3.7. {uri.headers}
2.5.3.8. {uri.transport}
2.5.3.9. {uri.ttl}
2.5.3.10. {uri.uparam}
2.5.3.11. {uri.maddr}
2.5.3.12. {uri.method}
2.5.3.13. {uri.lr}
2.5.3.14. {uri.r2}
2.5.3.15. {uri.schema}
2.5.4. VIA transformations
2.5.4.1. {via.name}
2.5.4.2. {via.version}
2.5.4.3. {via.transport}
2.5.4.4. {via.host}
2.5.4.5. {via.port}
2.5.4.6. {via.comment}
2.5.4.7. {via.params}
2.5.4.8. {via.param,name}
2.5.4.9. {via.branch}
2.5.4.10. {via.received}
2.5.4.11. {via.rport}
2.5.5. Parameters List Transformations
2.5.5.1. {param.value,name}
2.5.5.2. {param.exist,name}
2.5.5.3. {param.valueat,index}
2.5.5.4. {param.count}
2.5.6. Name-address Transformations
2.5.6.1. {nameaddr.name}
2.5.6.2. {nameaddr.uri}
2.5.6.3. {nameaddr.len}
2.5.6.4. {nameaddr.param,param_name}
2.5.6.5. {nameaddr.params}
2.5.7. IP Transformations
2.5.7.1. {ip.pton}
2.5.7.2. {ip.ntop}
2.5.7.3. {ip.isip}
2.5.7.4. {ip.family}
2.5.7.5. {ip.resolve}
2.5.8. CSV Transformations
2.5.8.1. {csv.count}
2.5.8.2. {csv.value}
2.5.9. SDP Transformations
2.5.9.1. {sdp.line}
2.5.10. Regular Expression Transformations
2.5.10.1. {re.subst,reg_exp}
2.5.10.2. Examples
2.6. opensips核心变量
2.6.1. Prev
2.6.2. Script variables
2.6.3. AVP variables
2.6.3.1. 事务持久性示例
2.6.3.2. 多个值示例
2.6.4. Pseudo Variables
2.6.4.1. URI in SIP Request’s P-Asserted-Identity header
2.6.4.2. Authentication Digest URI
2.6.4.3. Authentication realm
2.6.4.4. Authentication user
2.6.4.5. Auth username domain
2.6.4.6. Auth nonce
2.6.4.7. Auth response
2.6.4.8. Auth nonce
2.6.4.9. Auth opaque
2.6.4.10. Auth algorithm
2.6.4.11. Auth QOP
2.6.4.12. Auth nonce count(nc)
2.6.4.13. Auth whole username
2.6.4.14. Acc username
2.6.4.15. Argument options
2.6.4.16. Branch flags
2.6.4.17. Branch
2.6.4.18. Branch fields
2.6.4.19. Call-Id
2.6.4.20. Content-Length
2.6.4.21. CSeq number
2.6.4.22. Contact instance
2.6.4.23. contact-Type
2.6.4.24. Domain of destination URI
2.6.4.25. Diversion header URI
2.6.4.26. Diversion “privacy” parameter
2.6.4.27. Diversion “reason” parameter
2.6.4.28. Port of destination URI
2.6.4.29. Transport protocol of destination URI
2.6.4.30. Destination set
2.6.4.31. Destination URI
2.6.4.32. Error class
2.6.4.33. Error level
2.6.4.34. Error info
2.6.4.35. Error reply code
2.6.4.36. Error reply reason
2.6.4.37. From URI domain
2.6.4.38. From display domain
2.6.4.39. Forced socket
2.6.4.40. From tag
2.6.4.41. From URI
2.6.4.42. From URI username
2.6.4.43. OpenSIPS Log Level
2.6.4.44. SIP message buffer
2.6.4.45. Message Flags
2.6.4.46. SIP message ID
2.6.4.47. SIP message length
2.6.4.48. Domain in SIP Request’s original URI
2.6.4.49. Port of SIP request’s original URI
2.6.4.50. Transport protocol of SIP request original URI
2.6.4.51. SIP Request’s original URI
2.6.4.52. Username in SIP Request’s original URI
2.6.4.53. Route parameter
2.6.4.54. Domain in SIP Request’s P-Preferred-Identity header URI
2.6.4.55. Display Name in SIP Request’s P-Preferred-Identity header
2.6.4.56. Process id
2.6.4.57. Protocol of received message
2.6.4.58. User in SIP Request’s P-Preferred-Identity header URI
2.6.4.59. URI in SIP Request’s P-Preferred-Identity header
2.6.4.60. Domain in SIP Request’s URI
2.6.4.61. Body of request/reply
2.6.4.62. Returned code
2.6.4.63. Remote-Party-ID header URI
2.6.4.64. SIP request’s method
2.6.4.65. SIP request’s port
2.6.4.66. Transport protocol of SIP request URI
2.6.4.67. SIP reply’s reason
2.6.4.68. SIP reply’s status
2.6.4.69. Refer-to URI
2.6.4.70. SIP Request’s URI
2.6.4.71. Username in SIP Request’s URI
2.6.4.72. Q value of the SIP Request’s URI
2.6.4.73. Received IP address
2.6.4.74. Received port
2.6.4.75. Script flags(Removed in OpenSIPS 2.2)
2.6.4.76. IP source address
2.6.4.77. Source port
2.6.4.78. To URI Domain
2.6.4.79. To display name
2.6.4.80. To tag
2.6.4.81. To URI
2.6.4.82. To URI Username
2.6.4.83. Formatted date and time
2.6.4.84. Branch index
2.6.4.85. String formatted time
2.6.4.86. Current unix time stamp in seconds
2.6.4.87. Startup unix time stamp
2.6.4.88. User agent header
2.6.4.89. SIP Headers
2.6.4.90. Route Type
2.6.4.91. Current script line and file
2.6.4.92. $shv(name)
2.6.5. Escape Sequences(转移序列)
2.6.5.1. Foreground and background colors
2.6.5.2. 示例