Showing posts with label VOIP. Show all posts
Showing posts with label VOIP. Show all posts
,

SIP Protocol Messages

Requests


  • INVITE Indicates that a user is being invited to join a session.
  • ACK Confirms that client has received a response to the invite message.
  • BYE Terminates a call.
  • CANCEL Cancels any Pending Searches.
  • OPTIONS Queries for Capabilities.
  • REGISTER Registers the Address listed in the header field with a SIP Server

Responses


1xx Informational Messages

  • 100 Trying: Indicates that a request has been initiated by the caller and the called party has yet not been located.
  • 180 Ringing: Indicates that the called party has been located and is being notified of the call.
  • 181 Call is being forwarded: Indicates that the called party has rerouted the call to another.
  • 182 Queued: Indicates that the called party is currently not available, and have put the call in queue.
  • 183 Session in Progress


2xx Successful Responses

  • 200 OK: Indicates that the request has been successfully processed.


3xx Redirection Responses

  • 300 Multiple Choices: Indicates that the address resolved to more than one location.
  • 301 Moved permanently: Indicates user is no longer available at this location, an alternate location should be included in the header.
  • 302 Moved Temporarily: Indicates that the user in temporarily unavailable, an alternate location should be included in the header.
  • 305 Use Proxy: This response indicates that the caller must use a proxy to contact the called party.
  • 380 Call is not successful but alternate services are available.


4xx Request Failure Responses

  • 400 Bad Request: Indicates the request sent could not be understood.
  • 401 Unauthorized Request: Indicates the request requires authorization.
  • 402 Payment Required: Indicates payment is required to complete the call.
  • 403 Forbidden: Indicates Server has received the request but will not provide the service.
  • 404 Not Found: Indicates the server was not found.
  • 405 Method Not Allowed: Indicates that the request contains a list of methods that are not allowed.
  • 406 Not acceptable: Indicates that the request can not be processed by the client.
  • 407 Proxy Authentication Required: Client must first authenticate itself with a proxy.
  • 408 Request Timeout: The server could not produce a response before a given time out.
  • 409 Conflict: Indicates a conflict with the current state of the resource.
  • 410 Gone: Resource is no longer available at the server and no forwarding address was found.
  • 411 Length Required: User refuses request without a specified length.
  • 412 Request Entity Too Large: Server refuses to process request because URI is too long.
  • 415 Unsupported Media: Indicates the format of the body is not supported by the destination endpoint.
  • 420 Bad Extension: The server could not understand the protocol extension indicated in the required header.
  • 480 Temporarily Unavailable: Indicates that the called party was contacted but was temporarily unavailable.
  • 481 Call Leg Transaction Does Not Exist: Indicates that the server was ignoring the request of bye or cancel since there is no matching Invite transaction.
  • 482 Loop Detected: (Also, Request Merged) Server received a request which has it self in the path.
  • 483 Too Many Hops: The server received a request that required more hops than allowed.
  • 484 Incomplete Address: The server received a request with an incomplete address.
  • 485 Ambiguous: Server received a request in which the called address is ambiguous.
  • 486 Busy Here: The called party was contacted but the system was not able to receive any more calls.
  • 487 Request Terminated: The calling party canceled the request before the dialog was established with a 200 OK.
  • 488 Not Acceptable Here
  • 489 Bad Event: See RFC3265
  • 491 Request Pending
  • 493 Undecipherable
  • 494 Security Agreement Required: See RFC3329


5xx Server Failure Responses

  • 500 Server Internal Error: Server encountered an unexpected error and could not process the request
  • 501 Not Implemented: Server does not support the functions required to complete the request.
  • 502 Bad Gateway: Server received an invalid request upstream.
  • 503 Service Unavailable: Server has an overload or maintenance problem.
  • 504 Gateway Timeout: Server did not receive a timely response from another server.
  • 505 Version Not Supported: Server does not support the SIP protocol used in the request.


6xx Global Failure Responses

  • 600 Busy Everywhere: Called party is busy and cannot take the call at this time.
  • 603 Decline: Called party was contacted but does not want to take part in the call.
  • 604 Does Not Exist Anywhere: Called Party does not exist anywhere in the network.
  • 606 Not Acceptable: Called party has rejected some part of the call session description as unacceptable.
Continue reading SIP Protocol Messages
,

G.729 and G.723 Codec installation on Asterisk

Installation and Configuration of G.729 and G.723 codecs on asterisk
  1. Download the codec binary file from http://asterisk.hosting.lv/bin/codec_g729-ast14-gcc4-glibc-pentium4.so
  2. Copy it to the /usr/lib/asterisk/modules folder.
  3. Restart the Asterisk: /etc/init.d/asterisk restart

Estimating the Number of G.729 Channels Required

If you choose to purchase the G.729 license from Digium you will need to compute the number of G.729 channels required by your configuration. You can estimate the required value by using the following information:
  • a call between two SIP extensions usually requires two G.729 channels, unless the pass-thru mode is used (http://voip-info.org/wiki/view/Asterisk+G.729+pass-thru), in which case it doesn’t require any G.729 channel.
  • a call between a SIP extension and a Zaptel/DAHDI extension/trunk requires one G.729 channel.
  • a call to Voice Mail or another Asterisk service where IVR messages must be played requires one G.729 channel.
Continue reading G.729 and G.723 Codec installation on Asterisk
,

SIP Trunking - IP Based authentication and Password based authentication

SIP trunking is the method of sending calls to ITSP service provider using sip protocol.

Indepth details refer RFC 3261

There are two types of authentications

1. IP based authentication
2.Username and Password based authentication


For IP Based Authentication
You need to do the following changes in the sip.conf


[siptrunk]
type=friend
fromuser=X.X.X.X ( your asterisk server ip ) which will send traffic to the service provider
host=X.X.X.X ( service provider ip )
canreinvite=no
qualify=no
dtmfmode=RFC2833
context=intenal
disallow=all
allow=g729
allow=ulaw
allow=alaw
port=5060


Then you need to edit extensions.conf[intenal]
exten => _9X.,1,Dial(SIP/${EXTEN}@siptrunk)


For Username and password based authentication

[siptrunk]
type=friend
username=
fromuser=X.X.X.X
host=X.X.X.X
canreinvite=no
secret=
qualify=no
dtmfmode=RFC2833
context=intenal
disallow=all
allow=g729
allow=ulaw
allow=alaw
port=5060

define username and password to it
Continue reading SIP Trunking - IP Based authentication and Password based authentication
,

GNUGK - GNU Gate Keeper & H.323 for VOIP

In my journey into VOIP i ran into a group of guys here in Texas who used this other protocol(H.323) and they lived by it. After I started deploying asterisk PBX based system , using SIP, and IAX, I found exactly what they were talking about. The more I played with it, the more I see why these old timers with VOIP experiance where pointing me here. Enjoy!

link to gnugk site

insert from site:

OpenH323 Gatekeeper - The GNU Gatekeeper
The GNU Gatekeeper (GnuGk) is a full featured H.323 gatekeeper, available freely under GPL license. It forms the basis for a free IP telephony system (VOIP). Please read the manual and the FAQ for general information what a gatekeeper does or take a look at some VOIP and H.323 books to get into the subject.

Features
The GNU Gatekeeper is very stable. It is being used commercially by many organizations to provide VOIP services. They provide executables for Linux, Windows, FreeBSD, Solaris and MacOS X

  • can be run as a Windows service
  • accounting and call authorization via SQL database, Radius, file or external application
  • flexible call routing
  • number rewriting (calling and called)
  • support for NAT traversal
  • full H.323 proxy
  • TCP interface to applications
  • CTI functions (eg. VOIP call-center, call transfers)
  • gatekeeper clustering support (neighbors, parent/child, alternates)
  • H.235 security
  • graphical user interface
  • and it's free, including source code
Compatibility
The interoperability list shows a lot of equipment GnuGk has been used with.
In addition to the general settings explained in the manual there are some specific configuration notes how to configure gateways from some major vendors for use with GnuGk.

More coming soon. I will be adding scripts and option examples. I am working on a few examples, and we now operate our own GNU gateway ourselves.

GNU gateway is based on H.323. Link

Why H.323?

What is ITU-T Recommendation H.323? Why have the worlds largest carriers deployed and continue to deploy H.323? H.323 is the first and remains the most powerful international multimedia communications protocol standard, bringing the convergence of voice, video, and data. Built for the packet-based network, H.323 has found a strong home in IP networks, making it the leader in VoIP.

As with other carrier-grade communication protocols, H.323 is a standard published by the International Telecommunications Union. It was approved by the world governments as the international standard for voice, video, and data conferencing, defining how devices such as computers, telephones, mobile phones, PDAs, wireless phones, video conferencing systems, etc., communicate to bring a whole new experience to the user.

H.323 borrows from both the traditional PSTN protocols and the Internet-related standards. By leveraging from both circuit-switched and packet-switched protocol standards, H.323 is able to smoothly integrate with the PSTN, while at the same time send multimedia communications over such mediums as the Internet.

H.323 originated in the mid-'90s as a logical extension of the circuit-switched multimedia conferencing work being done within the ITU-T. Because of this heritage, H.323 interoperates well with a very large installed base of video conferencing equipment. However, H.323 introduced much more capability than was introduced by previous protocols. It brought with it the ability to integrate with the Internet and the World Wide Web (WWW), as well as interface with the PSTN, to provide a range of applications from wholesale transit of voice, pre-paid calling card services, residential voice/video services, enterprise voice/video services, and much more.

With H.323, users at remote locations are able to hold a video call and edit a document together-in real-time over the Internet-using their personal computers. Not only that, but H.323 allows the users to customize their phones or phone services, locate users, transfer a call, or perform any number of other tasks by using an HTTP interface between the H.323 client and a server on the network. H.323 fully embraces the power of the Internet. From the outset, designers of H.323 wanted to create a protocol that would serve well as the Next Generation Network protocol. H.323 significantly lowers the cost of communications and facilitates the rapid creation of many new kinds of services that were never before possible. In addition, H.323 enables endpoints to perform tasks that were previously only possible for centralized servers to perform. H.323 breaks away from the "old technology" model and introduces an intelligent endpoint capable of initiating and accepting calls without dependency on centralized network elements. However, recognizing the business requirements for centralized control in the service provider and enterprise markets, H.323 also allows for centralized control over the endpoint when desired. The level or extent to which a carrier or enterprise wishes to exert control is entirely up to them.
Continue reading GNUGK - GNU Gate Keeper & H.323 for VOIP
,

Header Structure of RTP


The following figure shows the RTP header structure -

RTP header structure

  • version (V): 2 bits
    This field identifies the version of RTP. The version is 2 upto RFC 1889.
  • padding (P): 1 bit
    If the padding bit is set, the packet contains one or more additional padding octets at the end which are not part of the payload. The last octet of the padding contains a count of how many padding octets should be ignored. Padding may be needed by some encryption algorithms with fixed block sizes or for carrying several RTP packets in a lower-layer protocol data unit.
  • extension (X): 1 bit
    If the extension bit is set, the fixed header is followed by exactly one header extension.
  • CSRC count (CC): 4 bits
    The CSRC count contains the number of CSRC identifiers that follow the fixed header.
  • marker (M): 1 bit
    Marker bit is used by specific applications to serve a purpose of its own. We will discuss this in more detail when we study Application Level Framing.
  • payload type (PT): 7 bits
    This field identifies the format (e.g. encoding) of the RTP payload and determines its interpretation by the application. This field is not intended for multiplexing separate media.
  • sequence number: 16 bits
    The sequence number increments by one for each RTP data packet sent, and may be used by the receiver to detect packet loss and to restore packet sequence. The initial value of the sequence number is random (unpredictable).
  • timestamp: 32 bits
    The timestamp reflects the sampling instant of the first octet in the RTP data packet. The sampling instant must be derived from a clock that increments monotonically and linearly in time to allow synchronization and jitter calculations.
  • SSRC: 32 bits
    The SSRC field identifies the synchronization source. This identifier is chosen randomly, with the intent that no two synchronization sources within the same RTP session will have the same SSRC identifier.
  • CSRC list: 0 to 15 items, 32 bits each
    The CSRC list identifies the contributing sources for the payload contained in this packet. The number of identifiers is given by the CC field. If there are more than 15 contributing sources, only 15 may be identified. CSRC identifiers are inserted by mixers, using the SSRC identifiers of contributing sources.
Continue reading Header Structure of RTP
,

Cisco Call Manager 6

Cisco Unified Communications Manager is an enterprise-class IP telephony call-processing system that provides traditional telephony features as well as advanced capabilities, such as mobility, presence, preference, and rich conferencing services. This powerful call processing solution can help:

* Simplify your voice systems by replacing old PBX (private branch exchange) and key systems with unified communications, you can cut costs and dramatically streamline provisioning and maintenance.
* Build productivity with feature-rich unified communications that help workers spend less time chasing people, and more time being productive.
* Enable mobility with software that has embedded unified mobility capabilities so mobile workers can remain productive wherever they are.
* Improve collaboration with a click; start an IM session, initiate a phone call, and establish a videoconferencing call more easily.


Cisco Unified Communications Manager creates a unified workspace that supports a full range of communications features and applications with a solution that is highly:

* Scalable: Each Cisco Unified Communications Manager cluster can support up to 30,000 users.
* Distributable: For scalability, redundancy, and load balancing.
* Available: Support business continuity and improve collaboration with high availability that provides a foundation for multiple levels of server redundancy and survivability.


Download:

http://rapidshare.com/files/147021405/Cisco_Call_Manager_6.part01.rar
http://rapidshare.com/files/147023378/Cisco_Call_Manager_6.part02.rar
http://rapidshare.com/files/147024878/Cisco_Call_Manager_6.part03.rar
http://rapidshare.com/files/147026208/Cisco_Call_Manager_6.part04.rar
http://rapidshare.com/files/147687021/Cisco_Call_Manager_6.part05.rar
http://rapidshare.com/files/147689418/Cisco_Call_Manager_6.part06.rar
http://rapidshare.com/files/147691826/Cisco_Call_Manager_6.part07.rar
http://rapidshare.com/files/147694315/Cisco_Call_Manager_6.part08.rar
http://rapidshare.com/files/147717621/Cisco_Call_Manager_6.part09.rar
http://rapidshare.com/files/147720248/Cisco_Call_Manager_6.part10.rar
http://rapidshare.com/files/147722954/Cisco_Call_Manager_6.part11.rar
http://rapidshare.com/files/147725594/Cisco_Call_Manager_6.part12.rar
http://rapidshare.com/files/147731057/Cisco_Call_Manager_6.part13.rar
http://rapidshare.com/files/147733696/Cisco_Call_Manager_6.part14.rar
http://rapidshare.com/files/147736352/Cisco_Call_Manager_6.part15.rar
http://rapidshare.com/files/147746226/Cisco_Call_Manager_6.part16.rar
http://rapidshare.com/files/147752993/Cisco_Call_Manager_6.part17.rar
http://rapidshare.com/files/147759784/Cisco_Call_Manager_6.part18.rar
http://rapidshare.com/files/147766258/Cisco_Call_Manager_6.part19.rar
http://rapidshare.com/files/147776148/Cisco_Call_Manager_6.part20.rar
http://rapidshare.com/files/147783475/Cisco_Call_Manager_6.part21.rar
http://rapidshare.com/files/147790523/Cisco_Call_Manager_6.part22.rar
http://rapidshare.com/files/147797687/Cisco_Call_Manager_6.part23.rar
http://rapidshare.com/files/147804212/Cisco_Call_Manager_6.part23.rar
http://rapidshare.com/files/147815710/Cisco_Call_Manager_6.part21.rar
http://rapidshare.com/files/147821460/Cisco_Call_Manager_6.part22.rar
http://rapidshare.com/files/147827252/Cisco_Call_Manager_6.part23.rar
http://rapidshare.com/files/147832751/Cisco_Call_Manager_6.part24.rar
http://rapidshare.com/files/147838418/Cisco_Call_Manager_6.part25.rar
http://rapidshare.com/files/147843722/Cisco_Call_Manager_6.part26.rar
http://rapidshare.com/files/147848676/Cisco_Call_Manager_6.part27.rar
http://rapidshare.com/files/147853258/Cisco_Call_Manager_6.part28.rar
http://rapidshare.com/files/147857702/Cisco_Call_Manager_6.part29.rar
http://rapidshare.com/files/147861672/Cisco_Call_Manager_6.part30.rar
http://rapidshare.com/files/147865545/Cisco_Call_Manager_6.part31.rar
http://rapidshare.com/files/147869256/Cisco_Call_Manager_6.part32.rar
http://rapidshare.com/files/147873080/Cisco_Call_Manager_6.part33.rar
http://rapidshare.com/files/147877034/Cisco_Call_Manager_6.part34.rar
http://rapidshare.com/files/147880962/Cisco_Call_Manager_6.part35.rar
http://rapidshare.com/files/147982658/Cisco_Call_Manager_6.part36.rar
http://rapidshare.com/files/147987906/Cisco_Call_Manager_6.part37.rar
http://rapidshare.com/files/147993318/Cisco_Call_Manager_6.part38.rar
http://rapidshare.com/files/147999286/Cisco_Call_Manager_6.part39.rar
http://rapidshare.com/files/148005371/Cisco_Call_Manager_6.part40.rar
http://rapidshare.com/files/148017953/Cisco_Call_Manager_6.part41.rar
http://rapidshare.com/files/148024480/Cisco_Call_Manager_6.part42.rar
http://rapidshare.com/files/148030612/Cisco_Call_Manager_6.part43.rar
http://rapidshare.com/files/148036833/Cisco_Call_Manager_6.part44.rar
http://rapidshare.com/files/148011568/Cisco_Call_Manager_6.part45.rar
http://rapidshare.com/files/148215207/Cisco_Call_Manager_6.part46.rar
http://rapidshare.com/files/148219573/Cisco_Call_Manager_6.part47.rar
http://rapidshare.com/files/148224183/Cisco_Call_Manager_6.part48.rar
http://rapidshare.com/files/148228838/Cisco_Call_Manager_6.part49.rar
http://rapidshare.com/files/148233213/Cisco_Call_Manager_6.part50.rar
http://rapidshare.com/files/148242633/Cisco_Call_Manager_6.part51.rar
http://rapidshare.com/files/148247780/Cisco_Call_Manager_6.part52.rar
http://rapidshare.com/files/148253361/Cisco_Call_Manager_6.part53.rar
http://rapidshare.com/files/148258782/Cisco_Call_Manager_6.part54.rar
http://rapidshare.com/files/148264501/Cisco_Call_Manager_6.part55.rar
http://rapidshare.com/files/148270261/Cisco_Call_Manager_6.part56.rar
http://rapidshare.com/files/148275989/Cisco_Call_Manager_6.part57.rar
http://rapidshare.com/files/148306421/Cisco_Call_Manager_6.part58.rar
http://rapidshare.com/files/148312722/Cisco_Call_Manager_6.part59.rar
http://rapidshare.com/files/148319816/Cisco_Call_Manager_6.part60.rar
http://rapidshare.com/files/148624120/Cisco_Call_Manager_6.part61.rar
http://rapidshare.com/files/148629203/Cisco_Call_Manager_6.part62.rar
http://rapidshare.com/files/148584449/Cisco_Call_Manager_6.part63.rar
http://rapidshare.com/files/148590055/Cisco_Call_Manager_6.part64.rar
http://rapidshare.com/files/148595830/Cisco_Call_Manager_6.part65.rar
http://rapidshare.com/files/148601600/Cisco_Call_Manager_6.part66.rar
http://rapidshare.com/files/148607368/Cisco_Call_Manager_6.part67.rar
http://rapidshare.com/files/148619003/Cisco_Call_Manager_6.part68.rar
http://rapidshare.com/files/148644537/Cisco_Call_Manager_6.part69.rar
http://rapidshare.com/files/148650138/Cisco_Call_Manager_6.part70.rar
http://rapidshare.com/files/148655911/Cisco_Call_Manager_6.part71.rar
http://rapidshare.com/files/148661546/Cisco_Call_Manager_6.part72.rar
http://rapidshare.com/files/148665905/Cisco_Call_Manager_6.part73.rar
http://rapidshare.com/files/148670829/Cisco_Call_Manager_6.part74.rar
http://rapidshare.com/files/148675578/Cisco_Call_Manager_6.part75.rar
http://rapidshare.com/files/148680094/Cisco_Call_Manager_6.part76.rar
http://rapidshare.com/files/148683889/Cisco_Call_Manager_6.part77.rar

No password
Continue reading Cisco Call Manager 6