freeswitch模块开发(一)

565 阅读1分钟

1.目的

写一个freeswitch的模块,可以在diaplan或者lua脚本里面调用,打印到其他的目录

2.先写一个最基础的模块

首先先创建一个相关的代码目录

WeChateedc42d0184cd87cb87f1c2df9a44416.png

#include <stdio.h>  

SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_mylog_shutdown);
SWITCH_MODULE_RUNTIME_FUNCTION(mod_mylog_runtime);
SWITCH_MODULE_LOAD_FUNCTION(mod_mylog_load);


SWITCH_MODULE_DEFINITION(mod_mylog, mod_mylog_load, mod_mylog_shutdown, NULL);

SWITCH_MODULE_LOAD_FUNCTION(mod_mylog_load)
{
	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Hello World!\n");
	
	return SWITCH_STATUS_SUCCESS;
}

SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_mylog_shutdown)
{
	return SWITCH_STATUS_SUCCESS;
}


/*
  //这一段可以直接注释起来,暂时没搞懂在什么情况下调用的
SWITCH_MODULE_RUNTIME_FUNCTION(mod_mylog_runtime)
{
	while(looping)
	{
		switch_cond_next();
	}
	return SWITCH_STATUS_TERM;
}
*/

3.创建makefie文件

在项目下创建makefile文件,BASE是项目源码的路径

BASE=/opt/freeswitch-1.8.7
include $(BASE)/build/modmake.rules

4.编译安装

make
make install

5.最基础模块完成

image.png

在freeswitch命令行加载该模块

image.png 现在freeswitch最基础的模块已经完成了