Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
savoirfairelinux
jami-daemon
Commits
6ce50470
Commit
6ce50470
authored
Aug 31, 2007
by
Alexandre Bourget
Browse files
Add the iax_vnak command to libiax2.
Conforming to:
http://tools.ietf.org/id/draft-guy-iax-03.txt
parent
26117960
Changes
2
Show whitespace changes
Inline
Side-by-side
libs/libiax2/src/iax-client.h
View file @
6ce50470
...
...
@@ -178,6 +178,7 @@ extern int iax_hangup(struct iax_session *session, char *byemsg);
extern
int
iax_call
(
struct
iax_session
*
session
,
const
char
*
cidnum
,
const
char
*
cidname
,
const
char
*
ich
,
const
char
*
lang
,
int
wait
,
int
format
,
int
capability
);
extern
int
iax_accept
(
struct
iax_session
*
session
,
int
format
);
extern
int
iax_answer
(
struct
iax_session
*
session
);
extern
int
iax_vnak
(
struct
iax_session
*
sesesion
);
extern
int
iax_sendurl
(
struct
iax_session
*
session
,
char
*
url
);
extern
int
iax_send_unlink
(
struct
iax_session
*
session
);
extern
int
iax_send_link_reject
(
struct
iax_session
*
session
);
...
...
libs/libiax2/src/iax.c
View file @
6ce50470
...
...
@@ -146,83 +146,83 @@ static int ping_time = 10;
static
void
send_ping
(
void
*
session
);
struct
iax_session
{
/* Private data */
/*
*
Private data */
void
*
pvt
;
/* session-local Sendto function */
/*
*
session-local Sendto function */
iax_sendto_t
sendto
;
/* Is voice quelched (e.g. hold) */
/*
*
Is voice quelched (e.g. hold) */
int
quelch
;
/* Codec Pref Order */
/*
*
Codec Pref Order */
char
codec_order
[
32
];
/* Codec Pref Order Index*/
/*
*
Codec Pref Order Index*/
int
codec_order_len
;
/* Last received voice format */
/*
*
Last received voice format */
int
voiceformat
;
/* Last transmitted voice format */
/*
*
Last transmitted voice format */
int
svoiceformat
;
/* Last received video format */
/*
*
Last received video format */
int
videoformat
;
/* Last transmitted video format */
/*
*
Last transmitted video format */
int
svideoformat
;
/* Per session capability */
/*
*
Per session capability */
int
capability
;
/* Last received timestamp */
/*
*
Last received timestamp */
unsigned
int
last_ts
;
/* Last transmitted timestamp */
/*
*
Last transmitted timestamp */
unsigned
int
lastsent
;
#ifdef USE_VOICE_TS_PREDICTION
/* Next predicted voice ts */
/*
*
Next predicted voice ts */
unsigned
int
nextpred
;
/* True if the last voice we transmitted was not silence/CNG */
/*
*
True if the last voice we transmitted was not silence/CNG */
int
notsilenttx
;
#endif
/* Our last measured ping time */
/*
*
Our last measured ping time */
unsigned
int
pingtime
;
/* Address of peer */
/*
*
Address of peer */
struct
sockaddr_in
peeraddr
;
/* Our call number */
/*
*
Our call number */
int
callno
;
/* Peer's call number */
/*
*
Peer's call number */
int
peercallno
;
/* Our next outgoing sequence number */
/*
*
Our next outgoing sequence number */
unsigned
char
oseqno
;
/* Next sequence number they have not yet acknowledged */
/*
*
Next sequence number they have not yet acknowledged */
unsigned
char
rseqno
;
/* Our last received incoming sequence number */
/*
*
Our last received incoming sequence number */
unsigned
char
iseqno
;
/* Last acknowledged sequence number */
/*
*
Last acknowledged sequence number */
unsigned
char
aseqno
;
/* Last sequence number we VNAKd */
/*
*
Last sequence number we VNAKd */
unsigned
char
lastvnak
;
/* Time value that we base our transmission on */
/*
*
Time value that we base our transmission on */
struct
timeval
offset
;
/* Time value we base our delivery on */
/*
*
Time value we base our delivery on */
struct
timeval
rxcore
;
/* Current link state */
/*
*
Current link state */
int
state
;
/* Expected Username */
/*
*
Expected Username */
char
username
[
MAXSTRLEN
];
/* Expected Secret */
/*
*
Expected Secret */
char
secret
[
MAXSTRLEN
];
/* Refresh if applicable */
/*
*
Refresh if applicable */
int
refresh
;
/* ping scheduler id */
/*
*
ping scheduler id */
int
pingid
;
/* Transfer stuff */
/*
*
Transfer stuff */
struct
sockaddr_in
transfer
;
int
transferring
;
int
transfercallno
;
int
transferid
;
int
transferpeer
;
/* for attended transfer */
int
transfer_moh
;
/* for music on hold while performing attended transfer */
int
transferpeer
;
/*
*
for attended transfer */
int
transfer_moh
;
/*
*
for music on hold while performing attended transfer */
jitterbuf
*
jb
;
struct
iax_netstat
remote_netstats
;
/* For linking if there are multiple connections */
/*
*
For linking if there are multiple connections */
struct
iax_session
*
next
;
};
...
...
@@ -312,24 +312,24 @@ static int __debug(char *file, int lineno, char *func, char *fmt, ...)
typedef
void
(
*
sched_func
)(
void
*
);
struct
iax_sched
{
/* These are scheduled things to be delivered */
/*
*
These are scheduled things to be delivered */
struct
timeval
when
;
/* If event is non-NULL then we're delivering an event */
/*
*
If event is non-NULL then we're delivering an event */
struct
iax_event
*
event
;
/* If frame is non-NULL then we're transmitting a frame */
/*
*
If frame is non-NULL then we're transmitting a frame */
struct
iax_frame
*
frame
;
/* If func is non-NULL then we should call it */
/*
*
If func is non-NULL then we should call it */
sched_func
func
;
/* and pass it this argument */
/*
*
and pass it this argument */
void
*
arg
;
/* Easy linking */
/*
*
Easy linking */
struct
iax_sched
*
next
;
};
static
struct
iax_sched
*
schedq
=
NULL
;
static
struct
iax_session
*
sessions
=
NULL
;
static
int
callnums
=
1
;
static
int
transfer_id
=
1
;
/* for attended transfer */
static
int
transfer_id
=
1
;
/*
*
for attended transfer */
void
iax_set_private
(
struct
iax_session
*
s
,
void
*
ptr
)
...
...
@@ -1792,6 +1792,11 @@ int iax_answer(struct iax_session *session)
return
send_command
(
session
,
AST_FRAME_CONTROL
,
AST_CONTROL_ANSWER
,
0
,
NULL
,
0
,
-
1
);
}
int
iax_vnak
(
struct
iax_session
*
session
)
{
return
send_command
(
session
,
AST_FRAME_IAX
,
IAX_COMMAND_VNAK
,
0
,
NULL
,
0
,
-
1
);
}
int
iax_load_complete
(
struct
iax_session
*
session
)
{
return
send_command
(
session
,
AST_FRAME_HTML
,
AST_HTML_LDCOMPLETE
,
0
,
NULL
,
0
,
-
1
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment