aboutsummaryrefslogtreecommitdiffstats
path: root/src/sip.h
blob: e6b9b724034b39f817b13bf39bd7e68735a3aaef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#pragma once

#include <sofia-sip/su_wait.h>
#include <sofia-sip/url.h>
#include <sofia-sip/sip.h>
#include <sofia-sip/nua_tag.h>
#include <sofia-sip/su_glib.h>
#include <sofia-sip/nua.h>
#include <osmocom/core/rate_ctr.h>

struct app_config;
struct call;

struct sip_agent {
	struct app_config	*app;
	su_home_t		home;
	su_root_t		*root;

	nua_t			*nua;

	struct rate_ctr_group	*ctrg;
};

void sip_agent_init(struct sip_agent *agent, struct app_config *app,
	struct rate_ctr_group *ctrg);
int sip_agent_start(struct sip_agent *agent);

int sip_create_remote_leg(struct sip_agent *agent, struct call *call);