What does at mean registering module to Asterisk Core?

Anyone can explain me in easy way that what is the meaning “registering module to asterisk core”?
How does register any module to asterisk core?
If anyone can explain with programming way so it will be more useful.

There are different interfaces that can be implemented by modules, each interface provides a mechanism (where applicable) to register itself with the Asterisk core so it can be used. I can’t tell you how because this differs, and your best option is to find a module which is close to what you want to do and look at how it works. If you just want to write a dialplan application there is also app_skel.c in the apps directory which is a skeleton.

So can you explain me how does interacts chan_sip.so with Asterisk? Can anyone explan flow diagram of interaction asterisk-chan_sip.so?
If i want to write module for asterisk so i need to know which interface must i implement in my module? Actually i want to learn how does asterisk architecture run…

It interacts in a lot of ways as it provides a lot of functionality. I don’t think there’s a flow diagram or anything. And yes, if you want to implement you need to know what you want to implement so you can use the correct interface.

chan _sip is not a good example for a beginner! I would start by looking at one of the smaller files in the applications directory, and then, maybe look at the console channel drivers.

Also this is not a developers’ forum. For questions about software development for Asterisk components, you probably want the developer mailing list or IRC channel.