Brekeke SIP Server Wiki

  1. Brekeke SIP Server Basic Info
    1. BSS v3 Quick start guide
    2. What is the Brekeke SIP Server?
    3. Environments BSS runs on
    4. Hardware Spec vs BSS performance
    5. How to check your BSS version
    6. Editions of Brekeke SIP Server
    7. Benefits & Features (BSS)
    8. Interoperability (BSS)
    9. BSS has no limitations
  2. Avoid Attacks
  3. Update & Upgrade
    1. Minor version update
    2. Update license (same Product ID)
    3. Upgrade evaluation license to commercial with new Product ID
    4. Upgrade BSS from v2 to v3
    5. Upgrade OnDO SIP Server to BSS
    6. Update web server (Apache Tomcat)
  4. Configuration
    1. Installation
      1. How to install Brekeke SIP Server
      2. Installing Java SE
      3. Installing Apache Tomcat
      4. Installation with a commercial license
      5. Configuration for BSS behind NAT
      6. Use BSS with a firewall/antivirus
      7. Install on Debian or Ubuntu
      8. Install BSS on 32-bit or 64-bit OS
      9. Increase Linux File Descriptor Limit on CentOS
      10. Increase Threads/Processes Limits on CentOS 6
      11. Increase the memory space in BSS
      12. Running both Brekeke SIP Server and PBX on the same machine
      13. Update Java used by Brekeke SIP Server on Windows
      14. Use BSS with mesh network
      15. Uninstall Brekeke SIP Server
    2. SIP UA Configuration
      1. How to set up a SIP-UA?
      2. Presence feature
    3. Network Configuration
      1. Bind BSS to one IP address
      2. BSS Dial Plan settings for VPN
      3. Default value of TOS in the packets from BSS
      4. How to set port forwarding?
      5. Use FQDN as Network Interface
    4. Dial Plan
      1. Dial Plan Reference
        1. Matching Patterns functions
          1. $addr
          2. $addrPort
          3. $addrPrefix
          4. $addrRange
          5. $addrType
          6. $alias
            1. $alias.lookup
            2. $alias.reverse
          7. $and
          8. $body
          9. $date
          10. $db
            1. $db.get
            2. $db.query
            3. $db.update
          11. $dispatcher
          12. $eval and $e
          13. $evalRule
          14. $exist
          15. $getDisplayName
          16. $getHost
          17. $getSIPuser
          18. $getUri
          19. $globalAddr
          20. $header
          21. $headerParam
          22. $hop
          23. $if
          24. $ifAddr
          25. $isNull
          26. $isReachable
          27. $isTalking
          28. $localhost
          29. $math
            1. $math.dec
            2. $math.eval
            3. $
            4. $
            5. $
            6. $
            7. $math.le
            8. $math.max
            9. $math.min
            10. $math.rand
            11. $math.range
          30. $mirroring
          31. $mydomain
          32. $not
          33. $nslookup
          34. $nsreverse
          35. $or
          36. $outbound
          37. $param
          38. $pb.displayname
          39. $pb
            1. $pb.item
          40. $pn
            1. $pn.user
          41. $port
          42. $primary
          43. $radius
            1. $radius.auth
            2. $radius.setServiceType
            3. $radius.setVSA
            4. $radius.preauth
          44. $regAddr
          45. $regdb
            1. $regdb.attribute
            2. $regdb.recordnum
            3. $regdb.transport
          46. $registered
          47. $registeredSender
          48. $regUa
          49. $regUri
          50. $request
          51. $rule
            1. $rule.cntEvaled
            2. $rule.cntMatched
            3. $rule.matched
            4. $
            5. $rule.sps
          52. $route
            1. $route.concurrent
            2. $route.ifMin
            3. $route.sps
            4. $route.spslimit
            5. $route.underlimit
          53. $sdp
            1. $
            2. $
          54. $servertime
          55. $sessionNum
          56. $sid
          57. $soapGet
          58. $sps
          59. $stackSize
          60. $str
            1. $str.equals
            2. $str.contain
            3. $str.hashcode
            4. $str.indexOf
            5. $str.isdigits
            6. $str.length
            7. $str.lowercase
            8. $str.md5
            9. $str.remove
            10. $str.replace
            11. $str.reverse
            12. $str.sha
            13. $str.substring
            14. $str.trim
            15. $str.uppercase
          61. $subParam
          62. $threadNum
          63. $time
          64. $timeRange
          65. $transport
          66. $uriParam
          67. $url
            1. $url.decode
            2. $url.encode
          68. $webGet
          69. $ws
            1. $ws.cookie
            2. $
            3. $ws.origin
            4. $ws.resource
            5. $ws.useragent
        2. Deploy Patterns functions
          1. $action
          2. $alert.message
          3. $auth
          4. $b2bua
          5. $continue
          6. $ifdst
          7. $ifsrc
          8.  $log
          9. $nat
          10. $replaceuri.from
          11. $
          12. $request
          13. $response
          14. $rtp
          15. $session
          16. $target
          17. $transport
        3. Deploy Patterns variables
          1. &net.rtp.binddst
          2. &net.rtp.bindsrc
          3. &net.rtp.ifdst
          4. &net.rtp.ifsrc
          5. &net.srtp.dst
          6. &net.srtp.src
      2. $webget method examples
        1. Automatically Block Unwanted Calls
        2. CNAM lookup
        3. Send SMS from Brekeke SIP Server
      3. How do I create a Dial Plan rule?
      4. Red letters in the Dial Plan
      5. What does %1, %2 mean in rules?
      6. %{} in Dial Plan Deploy Patterns
      7. Global and Local Variables
      8. Add time between dialed prefix and phone number
      9. Change user password in the rule
      10. Connect to Gateways with BSS
      11. Brekeke SIP Server works as Redirect Server
      12. Authenticate callers by IP address
      13. Decline calls from non-numbered callers (SIP ID)
      14. Reject non-registered caller's call
      15. Restrict registration only from single UA
      16. Restrict Upper or Thru Registration
      17. Count registration records per user
      18. Set a registered client never expire
      19. Remove all current registrations
      20. Restrict REGISTER requests
      21. Restrict INVITE Requests
      22. Set time range in Dial Plan
      23. Limit Concurrent Sessions through a specific route
      24. Limit session per sec in Dial Plan
      25. Apply two plugin to one call
      26. Execute SQL query from Dialplan
      27. Define outgoing From and To headers with / method
      28. Response Header Definition
      29. DNS-SRV failover
      30. Failover with the Dial Plan
      31. Change payload type
      32. Change RTP Connection Info
      33. Disable RTP-Relay if SDP indicates a Public IP address
      34. Change Contact header
    5. Block List
      1. Block List Settings
      2. Block List Filtering Policy
      3. Blocked IP Address
      4. Blocked User Name
      5. Honeypot
    6. SDN
      1. OpenFlow Settings
        1. Add in_port parameters
    7. Advanced Edition
      1. Alias function
        1. Create an Alias Definition
        2. Create a DialPlan Rule
      2. Call detailed records (CDR)
        1. Variables for CDR
      3. Failover
        1. Multiple-Target Failover
        2. Failover Plugin
      4. Load balancing by BSS
        1. Brekeke SIP Server Load Balancing
          1. Front-end Server Setup
          2. Back-end Servers Setup
      5. RADIUS
        1. RADIUS Accounting
        2. RADIUS Authentication
        3. RADIUS Preauthentication
        4. RADIUS Attributes
          1. RADIUS Accounting Request: Attributes
          2. RADIUS Authentication Request: Attributes
          3. RADIUS PreAuthentication Request: Attributes
        5. Environment Variables for RADIUS
        6. Define Vendor-Specific Attribute (VSA) in Brekeke RADIUS Request
        7. Troubleshooting for RADIUS
      6. TLS
        1. Key and Certificate
        2. How to create a self-signed certificate using OpenSSL
        3. How to install a certificate chain
        4. Peer Certification Validation
        5. Environment Variables for TLS
        6. Monitoring and Diagnostic
        7. How to convert TLS to another transport protocol (UDP,TCP)
      7. SRTP Conversion
      8. Brekeke SIP Server Redundancy
        1. 1. Set Up Brekeke SIP Server Mirroring
          1. OS commands for redundancy
          2. Replace default gateway
        2. 2. Set up Brekeke SIP Server Auto Sync
        3. 3. Brekeke SIP Server Heartbeat
          1. Set up Heartbeat on Secondary BSS
          2. Set up Heartbeat on Primary BSS
        4. 4. Test Brekeke SIP Server redundancy
        5. 5. Resume to the State before Failover
      9. Brekeke Heartbeat Remote Access Setup
      10. Brekeke SIP Server Failure Notification
      11. Heavy loads alert with Brekeke Heartbeat
      12. Monitoring SIP Devices with Heartbeat
    8. Other Functions
      1. Access Brekeke SIP Server Admintool from any computer
      2. Back-To-Back User Agent (B2BUA) Mode
      3. Billing feature
      4. Brekeke SIP Server back up
      5. Call to PSTN by Brekeke SIP Server
      6. Call transfer and voice message
      7. Check call status
      8. Compact Form with BSS
      9. Settings for Microsoft Lync or OCS
      10. Connect to Brekeke SIP Server Admintool with SSL
      11. Difference between RTP relay ON and AUTO
      12. Does Brekeke SIP Server support Video call?
      13. Change RTP buffer size for Video
      14. How to tune T1 timer
      15. IPv6
      16. NAT Traversal
      17. Push Notification
        1. Quick Guide
        2. Management
          1. [Application] page
            1. [Edit Application] page
          2. [Devices] page
          3. [Settings] page
        3. Sample Dial Plan rules
          1. Notify Incoming Call
          2. Notify Incoming Call for Brekeke PBX
          3. Notify New Voice Message
        4. Variables Reference
          1. Dial Plan Variables for Push Notification
          2. Logging Variables for Push Notification
        5. How to get a server key and a sender ID for WebPush
      18. Replace response code
      19. Use Microsoft SQL server
      20. UPnP
      21. Upper or Thru Registration
      22. log
        1. How to log SIP packets
        2. Logging Level
        3. View call logs
        4. Log path
        5. Timestamp Format in Session Log
        6. Change system log file size
      23. Monitoring Brekeke SIP Server with SNMP
        1. Monitoring Brekeke SIP Server with Net-SNMP
        2. Monitoring Brekeke SIP Server with Java's SNMP
      24. TCP or TLS with BSS
        1. TCP-UDP and UDP-TCP conversion
        2. TCP Support Details
        3. TLS Support Details
      25. Does Brekeke SIP Server support Path (RFC3327)?
      26. Does Brekeke SIP Server support Service-Route (RFC3608)?
      27. Set up Brekeke SIP Server to use WebSocket as SIP transport
      28. Management Command Reference
        1. blockctrl
        2. blockquery
        3. blockstat
        4. certinfo
        5. ciphersuitesinfo
        6. classpath
        7. disconnect
        8. dnscache
        9. dnslookup
        10. dnsremove
        11. dnssrvcache
        12. env
        13. getwarning
        14. iflist
        15. info
        16. policytable
        17. portlist
        18. portmap
        19. radiuscachedport
        20. regexlist
        21. regclear
        22. reglist
        23. rtplist
        24. routerinfo
        25. rulelist
        26. rtplist
        27. sipexlist
        28. subsclist
        29. tlslist
        30. weberrorlist
      29. Setup secure connections (TLS/WSS/HTTPS) with certificate
      30. Set up the email notifications at BSS
      31. Get free certificates from "Let's Encrypt"
  5. Troubleshooting
    1. How to get debug logs 
    2. How to get jstack information
    3. Brekeke SIP Server License and Activation
    4. Starting up
      1. Can't access Brekeke SIP Server Admintool after installation
      2. Can't start Brekeke SIP Server when using some SIP UAs
      3. Can't start Brekeke SIP Server in linux and the "UnsatisfiedLinkError" message is in a log.log
      4. Cannot move from the first screen
      5. Can't start Brekeke SIP Server when Java10/11 and Tomcat7 are used
      6. Error "Cannot open database"
      7. Error message "Cannot open the listening port."
      8. Error - Port Not Ready 
      9. Error - SIP Server already installed, please uninstall existing SIP server
      10. Error - The page can not be displayed
      11. Error NO-200 in Brekeke SIP Server admintool
      12. Forgot admin password
      13. Error 1067 in Windows Service
      14. Got Exceptions when using GCJ
      15. Lost changed settings when Brekeke SIP Server restarts
      16. Internet Explorer doesn't show the admin page
      17. No response from Brekeke SIP Server
      18. Unable to install Brekeke SIP Server Service
      19. Unable to open Brekeke service when restart server machine
    5. Registering problem
      1. Authentication Problem (401 Unauthorized)
      2. Cannot register my UA(phone) to Brekeke SIP Server
      3. Failure on Upper/Thru registration
      4. Registration fails for SIP clients from different LANs
      5. Registration fails from SIP clients within the network
    6. Trouble with SIP UAs
      1. Cannot connect to a SIP-UA
      2. Cannot connect using Windows Messenger
      3. Ring multiple phones at the same time
      4. Talking Session exits after call disconnected
      5. Windows Messenger Presence feature
      6. Counterpath's Presence feature with Brekeke SIP Server
    7. Trouble with Calling
      1. 401 Unauthorized, 407 Proxy Authentication Required
      2. 404 Not Found, 484 Address Incomplete, 603 Decline
      3. 415 Unsupported Media Type, 488 Not Acceptable Here
      4. 482 Loop Detected, 483 Too Many Hops
      5. 486 Busy Here
      6. 603 Packet-Too-Big
      7. Call drops after getting connected
      8. Call drops after getting connected and caller hears ring back tone
      9. Call drops; only one-side voice; no voice
      10. Callee not ring, caller hears ring tome
      11. Disconnected during a call
      12. Neither a busy tone nor a ring back tone
      13. UA1 calls UA2, UA2 does not ring
      14. One way call
      15. Other response codes
      16. Port Allocation failed
      17. Can not find a response code
      18. Poor sound quality
        1. Bandwidth, quality, or Network equipments
        2. Codecs and protocols
        3. Stress on Server
        4. Sound quality on different types of phone
  6. Known Bugs & Version History
    1. Known Bugs
    2. Version History

Brekeke SIP Server Upper/Thru Registration Features

Upper and Thru Registration are unique features of Brekeke SIP Server. These functions allow you to easily configure your Brekeke SIP Server to work with other SIP servers.

We assume in this situation that SIP server A is an existing SIP server, either at your office or owned by a VoIP provider. Clients a, b, and c are existing VoIP phones, registered to server A.


You can register IP phones (d, e, f) on a different network to server A through your Brekeke SIP Server instead of registering them to server A directly. (See the image below)

*This image also applies to Brekeke SIP Server

Upper Registration

Clients d, e, and f register themselves to Brekeke SIP server B. Server B registers those clients to SIP server A. Server A will handle the REGISTER requests as if they came directly from the clients, rather than from server B.Using this Upper Registration function, servers A and B can work together without changing server A’s configuration.


Thru Registration

In SIP client d, e, and f’s settings, server B’s IP address should be set as Register Server and Outbound Proxy server. Server A’s IP address or FQDN should be included in each client’s SIP URI.

Clients d, e, and f register themselves to server B with these settings, and Brekeke SIP Server routes the REGISTER requests to server A. Because Brekeke SIP Server will also register them to itself, clients a, b, and c can call clients d, e, and f. You can specify only one SIP server with Upper Registration, whereas with Thru Registration, you can choose a different SIP Server for each client.


Notes for Using Brekeke SIP Server’s Upper/Thru Registration

Upper and Thru Registration are functions for Register process. In other words, these functions are for clients d, e, and f to receive calls from other SIP Servers. You would need to change your Dial Plan in Brekeke SIP server B to allow clients d, e, and f to call clients a, b, and c through servers A and B

Suppose you open a new office and use an Brekeke SIP Server (B) and three IP phones (d,e,f).

  • Setting routing rules in Brekeke SIP Server
    If clients d, e, and f also need to call PSTN lines, you need to add a Dial Plan rule to route some specific calls to your PSTN gateway. There may be other cases that you need set up routing, such as routing for calls directed to other offices.
  • Accepting only calls from server A or calls from specific IP addresses:
    Use your Firewall to filter out UDP packets that come from clients other than d, e, or f. Configure your network so that all SIP and RTP packets go through B. Add a Dial Plan rule to accept or reject calls from specific IP addresses.
  • In the case that SIP server A is located on the Internet and clients d, e, and f are on a local network; and when clients d, e, and f have no NAT traversal functions but server A doesn’t support FAR END NAT Traversal
    Clients d, e, and f won’t be able to make calls if they register themselves to server A directly.
    By using Brekeke SIP Server B between clients d, e, and f and server A, you can use BSS’s NAT traversal function and enable communication between clients a, b, and c and clients d, e, and f.
  • In case a fee is charged for each registered SIP client.
    You can set a Dial Plan to allow only specific clients (for example client d) to do Upper Registration or Thru Registration.

* We recommend that you use Brekeke PBX in the case that you want to create an intercom system using many SIP clients in your office and register some of your phones to other SIP Servers as described above. Brekeke PBX utilizes Brekeke SIP Server’s Thru registration function and works together with other SIP Servers. The configuration is easier using only Brekeke SIP Server; furthermore, you can use many other PBX functions such as auto attendant and call forwarding.


Related Links:
Yes No
Suggest Edit