return(0);
#endif
}
+static int options_asserted_id(struct interface *interface, char *filename, int line, char *parameter, char *value)
+{
+#ifndef WITH_SIP
+ SPRINT(interface_error, "Error in %s (line %d): SIP not compiled in.\n", filename, line);
+ return(-1);
+#else
+ if (!interface->sip) {
+ SPRINT(interface_error, "Error in %s (line %d): This is not a SIP interface.\n", filename, line);
+ return(-1);
+ }
+
+ if (!value || !value[0]) {
+ SPRINT(interface_error, "Error in %s (line %d): Missing asserted caller ID.\n", filename, line);
+ return(-1);
+ }
+ SCPY(interface->sip_asserted_id, value);
+
+ return(0);
+#endif
+}
static int options_public(struct interface *interface, char *filename, int line, char *parameter, char *value)
{
#ifndef WITH_SIP
return(-1);
}
q = get_seperated(p);
- if (!q[0]) {
- SPRINT(interface_error, "Error in %s (line %d): Missing register interval\n", filename, line);
- return(-1);
- }
+ if (!q[0])
+ interface->sip_register_interval = 0;
+ else
+ interface->sip_register_interval = atoi(q);
interface->sip_register = 1;
SCPY(interface->sip_register_user, value);
SCPY(interface->sip_register_host, p);
- interface->sip_register_interval = atoi(q);
return(0);
#endif
{"sip", &inter_sip, "<local IP/host>[:port] [<remote IP/host>[port]]",
"Sets up SIP interface that represents one SIP endpoint.\n"
"If the remote IP/host is omitted, a client must register first to us."},
- {"register", &inter_register, "<user> <host>",
- "Registers to given SIP registrar."},
+ {"register", &inter_register, "<user> <host> [options-interval]",
+ "Registers to given SIP registrar.\n"
+ "Optionally give SIP timer to send OPTIONS messages to keepalive REGISTER sessions."},
{"authenticate", &inter_authenticate, "<user> <password>",
"Defines SIP user and password for authentication."},
{"options-interval", &options_interval, "<interval> | 0",
- "Defines SIP timer to send OPTIONS messages to keepalive SIP sessions."},
+ "Defines SIP timer to send OPTIONS messages to keepalive INVITE sessions."},
+ {"asserted-id", &options_asserted_id, "<caller-id>",
+ "Defines SIP's asserted-id in INVITE message."},
{"public", &options_public, "<server> <interval>",
"Defines public IP, if this endpoint is behind NAT firewall."},
{"stun", &options_stun, "<server> <interval>",