Asterisk Source/Sip Module
AsteriskSource/SipModule ¶* call-limit
* static int load_module(void)
* A new INVITE is sent to handle_request_invite(), that will end up * starting a new channel in the PBX, the new channel after that executing * in a separate channel thread. This is an incoming "call". * When the call is answered, either by a bridged channel or the PBX itself * the sip_answer() function is called. sip_request_call ¶* static struct ast_channel *sip_request_call(const char *type, int format, void *data, int *cause)
Sip protocol ¶* What are the benefits of SIP?
Cseq ¶* A CSeq header field in a request contains
sip address ¶* sip address
Your “SIP program” registers its online presence with a “SIP Proxy”: “Hey, i’m on my home network right now, and I can be reached at this IP address”. When you arrive at work, your SIP program will now say “Yoohoo, i’ve moved, i’m now here!”. If someone wants to call you, they’ll type your SIP address in their SIP program. The SIP provider will help this person’s SIP software get in touch with your computer’s SIP software, partly thanks to some STUN magic thrown in the middle. A SIP address looks exactly like an e-mail address, and, with some providers such as EarthLink, can very-well be one and the same. In my case, you can send me an e-mail at hollandct@earthlink.net or plug hollandct@earthlink.net ( or sip:hollandct@earthlink.net ) in your SIP program to call me up. If i’m not online or available, you’ll hear my voicemail, which will then be delivered as a .wav attachment to my e-mail address … which Mail.app plays inline just fine! You don’t even need a “SIP Provider” to do SIP. If you know your party’s IP address or host name, if their SIP software is properly configured, you can plug their IP address into your SIP program to give them a ring. Having a SIP address just gives you a more universal way for people to get in touch with you. |